有一个像一个列的表:mydate DATETIME...
我有一个查询,例如:
SELECT SUM(foo), mydate FROM a_table GROUP BY a_table.mydate;
Run Code Online (Sandbox Code Playgroud)
这将完整分组datetime,包括小时和分钟.我希望通过日期YYYY/MM/DD而不是日期来组建小组YYYY/MM/DD/HH/mm.
有人知道怎么做吗?我仍然可以在我的代码中动态地执行它(我正在运行),但我正在清理垃圾代码,这可以通过SQL进行,我无法找到如何:(.
Mic*_*ren 263
将日期时间转换为日期,然后使用以下语法进行GROUP BY:
SELECT SUM(foo), DATE(mydate) FROM a_table GROUP BY DATE(a_table.mydate);
Run Code Online (Sandbox Code Playgroud)
或者您可以将别名作为@ orlandu63的别名建议:
SELECT SUM(foo), DATE(mydate) DateOnly FROM a_table GROUP BY DateOnly;
Run Code Online (Sandbox Code Playgroud)
虽然我认为它对性能没有任何影响,但它更清晰一点.
moo*_*moo 18
要么:
SELECT SUM(foo), DATE(mydate) mydate FROM a_table GROUP BY mydate;
Run Code Online (Sandbox Code Playgroud)
效率更高(我认为.)因为你不必每行两次施放mydate.
Ric*_*ant 15
我发现我需要在月份和年份进行分组,因此上述两种方法都不适用于我.相反,我使用date_format
SELECT date
FROM blog
GROUP BY DATE_FORMAT(date, "%m-%y")
ORDER BY YEAR(date) DESC, MONTH(date) DESC
Run Code Online (Sandbox Code Playgroud)
小智 7
SELECT SUM(No), HOUR(dateofissue)
FROM tablename
WHERE dateofissue>='2011-07-30'
GROUP BY HOUR(dateofissue)
Run Code Online (Sandbox Code Playgroud)
它将从特定日期的总和给出小时!
| 归档时间: |
|
| 查看次数: |
212958 次 |
| 最近记录: |