我在下面的sql查询中遇到了很大的问题,基本上我想按日期“Y-m-d”对表进行分组,找到该组的最小值并返回它发生的时间。
然而,它保持返回时间= 00:00:00,我不知道有什么问题。任何帮助将受到高度赞赏。
例如:对于第一个结果,它正确计算了该组的最低价格,但时间是04:00:00,但它仍然返回00:00:00
根据返回的ID,它似乎返回该组第一个元素的日期 - 而不是最低价格的实际日期。
Select val_date
, id
, MIN(average_price) AS min_value
from tableY
GROUP
BY Month(val_date)
, Year(val_date)
, Day(val_date);
表:
结果:
[{"val_date":"2017-01-01 00:00:00","id":1,"min_value":964.33},
{"val_date":"2017-01-02 00:00:00","id":25,"min_value":998.24},
{"val_date":"2017-01-03 00:00:00","id":49,"min_value":1016.4},
{"val_date":"2017-01-04 00:00:00","id":73,"min_value":1034.02}
答案 0 :(得分:0)
Select val_date
, id
, MIN(average_price) AS min_value
from tableY
GROUP
BY DATE_FORMAT(val_date,'%m')
, DATE_FORMAT(val_date,'%Y')
, DATE_FORMAT(val_date,'%d';
或强>
Select val_date
, id
, MIN(average_price) AS min_value
from tableY
GROUP
BY DATE_FORMAT(val_date,'%Y-%m-%d')
尝试以上代码。
希望这会对你有所帮助。