我有一个这样的表:
username date place time
paolo 1/1/2001 milan 00:10.20
marco 1/1/2001 milan 00:11.40
paolo 1/1/2011 milan 00:12.20
paolo 1/1/2004 milan 00:10.50
我想返回用户名 paolo
的时间值最小的行:
paolo 1/1/2001 milan 00:10.20
我正在尝试这个查询:
SELECT username,date,place,MIN(time) as record
FROM crono
WHERE username="paolo"
GROUP BY username,date,place
但它并没有给出我想要的结果。
最佳答案
使用 order by
和 limit
:
SELECT c.*
FROM crono c
WHERE username = 'paolo'
ORDER BY time
LIMIT 1;
使用 GROUP BY
时, SELECT
中永远不会有列不是聚合函数的参数,也不在 GROUP BY
中——除非你真的、真的、真的知道你在做什么。尽管这不适用于您的查询,但这是对解决方案的常见尝试。对
关于php - 在一列中选择具有最小值并在另一列中具有特定值的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36286123/