我当前的 MySQL 查询如下所示
SELECT AVG(TIMEDIFF(time1, time2)), YEAR(time2), MONTH(time2), DAY(time2), HOUR(time2)
FROM rr
WHERE time2 IS NOT NULL
GROUP BY
YEAR(time2),
MONTH(time2,
DAY(time2),
HOUR(time2);
我现在想做的是根据新的分组依据结果按日期对分组结果进行排序。有没有一种方法可以做到这一点而无需指定
ORDER BY
YEAR(time2)
...
HOUR(time2)
一切从头再来?
此外,有没有办法返回 DateTime 字段,而不必使用 YEAR(time2)、MONTH(time2)...HOUR(time2)
列进行重建?看来我可以减少相当多的冗余。
最佳答案
你可以这样做:
order by min(time2)
在 MySQL 中,您还可以这样做:
order by time2
但我建议使用聚合函数。
至于你问题的第二部分,你可以这样做:
select date(date_format(time2, '%Y:%m:%d %h:00:00'))
关于mysql - 通过消除冗余来压缩 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28970820/