我有一个像id, name, datetime
这样的表,它可能每天存储多个条目,现在我正在寻找一种方法来在一个查询中选择具有最高金额条目的日期。
到目前为止,我正在遍历所有条目并将$highest
整数与每个值进行比较,但是必须有一种更简单的方法来使用一个SQL查询。任何想法?
更新:
该表基本上看起来像这样
id, name, datetime 1, test, 2010-12-01 12:12:12 2, test2, 2010-11-30 12:12:12 3, test3, 2010-11-30 13:13:13 4, test4, 2010-10-29 12:12:12
结果需要为2010-11-30
,因为该特定日期有两个条目,实际上是“最高日期”(或条目数量最多的日期)。
答案 0 :(得分:4)
SELECT id, name, DATE(`datetime`) AS `date`, COUNT(*) AS `count`
FROM things
GROUP BY `date`
ORDER BY `count` DESC
如果您只想要最高的一天,请在最后添加LIMIT 1
。
请注意,id
和name
将来自当天的随机记录。如果您想要该特定日期的所有记录,则需要运行另一个查询或使用子查询。
答案 1 :(得分:3)
试试这个:
SELECT DATE(`datetime`) AS `date`
FROM your_table
GROUP BY `date`
ORDER BY COUNT(*) DESC
LIMIT 1