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/