php - 从由另一条记录分组的表中获取第一条记录 - PHP、MYSQL

标签 php mysql

client_id pet_id   clinic_id invoice_date total service unqid
20.20003  20.26777 20        1/24/2015    100        1     1
20.20001  20.26355 20        1/11/2015     50        2     2
20.20001  20.26355 20        1/12/2015    200              4
20.20001  20.26355 20        1/13/2015    600              5
20.20003  20.26777 20        1/15/2015    350              6

根据上表,我正在尝试进行一个 sql 查询,该查询为我提供按“pet_id”分组的第一个(最低)“invoice_date”的“总计”。

使用它,我可以获得第一张发票的平均值。问题是我无法让它工作。

我试过:

mysql_query("SELECT total FROM invoice WHERE clinic_id='$clinic_id' GROUP BY pet_id ORDER BY invoice_date ASC");  

但这给了我 50, 100 它应该是 50 和 350(Unqid 2 和 6)。

我将如何做到这一点?另外,为什么我的查询不起作用?我认为它会给我按 pet_id 分组的总数(确保我每只宠物只得到一张发票​​)并按最低的 invoice_date 排序(确保它是第一个)。

最佳答案

SELECT total 
FROM 
 (SELECT * from total order by invoice_date ASC) as invoice 
WHERE clinic_id='$clinic_id' 
GROUP BY pet_id 

关于php - 从由另一条记录分组的表中获取第一条记录 - PHP、MYSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28198675/

相关文章:

php - 登录系统只接受访问数据库中的第一项

php - 我怎样才能使这个 php 类静态化

php - 使用 MySQL LOAD_FILE() 将 XML 添加到列

mysql - 使用变量查询.Sql文件

php - 了解双向关系中拥有方如何运作

php - 防止作者在 Wordpress 3.5 和 ACF 的媒体上传对话框中看到其他作者的媒体文件

mysql - 添加约束,以便该列仅接受来自另一列的逗号分隔值

php - 显示结果很慢

mysql - NodeJs MySql 多次更新

mysql - 在主键区间中选择 SQL