这个问题在这里已经有答案了:
sql仅选择列上具有最大值的行[重复](27个答案)
两年前关门了。
我有一个简短的问题:我需要为下表中的每一天取第一个值:
Date Price
2018-09-01 10:00:00 123
2018-09-01 10:01:00 2568
2018-09-01 10:02:00 2155
2018-09-01 10:03:00 23
2018-09-02 10:03:00 25868
2018-09-02 10:10:00 84213
2018-09-03 15:10:00 58192
2018-09-03 10:16:00 36
所以结果应该是这样的:
Date Price
2018-09-01 10:00:00 123
2018-09-02 10:03:00 25868
2018-09-03 10:16:00 58192
我的查询如下所示:
SELECT price, min(date)
FROM table
WHERE data BETWEEN '2018-09-01%' AND "2018-09-03%"
GROUP BY date
我这里有个问题。我无法编写一个将每天的前几分钟都考虑在内的查询。有人能帮我解决这个问题吗?
谢谢你的回答
5条答案
按热度按时间ukdjmx9f1#
您需要按时间选择日期和排序,然后将查询限制为一个。
nuypyhwy2#
试试这个:
bprjcwpo3#
使用相关子查询
https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=47d5494c6158ebcfeea7e80d55f3a589
2hh7jdfx4#
尝试按日期分组,然后获得日期和价格的最小值
qacovj5a5#
尝试在查询中集成“limit=1”。这将结果减少到一个输出