当前位置: 首页 > 面试题库 >

MySQL / SQL:仅在Datetime列上按日期分组

东方修谨
2023-03-14
问题内容

有一个带有列的表,如:mydate DATETIME

我有一个查询,例如:

SELECT SUM(foo), mydate FROM a_table GROUP BY a_table.mydate;

这将按完整的分组datetime,包括小时和分钟。我希望按日期分组,YYYY/MM/DD而不按日期分组YYYY/MM/DD/HH/mm

有人知道怎么做吗?我仍然可以在我的代码中动态地执行此操作(因为我是atm),但是我正在清理垃圾代码,并且可以通过SQL来完成此操作,但我不知道如何:(。


问题答案:

将datetime强制转换为日期,然后使用以下语法将GROUP BY强制转换为:

SELECT SUM(foo), DATE(mydate) FROM a_table GROUP BY DATE(a_table.mydate);

或者,您可以按@ orlandu63建议使用GROUP BY别名:

SELECT SUM(foo), DATE(mydate) DateOnly FROM a_table GROUP BY DateOnly;

尽管我认为这不会对性能产生任何影响,但它会更清晰一些。



 类似资料:
  • 问题内容: 因此,我需要更新Oracle数据库上的某些日期,该字段是datetime,但我只希望更新日期,而保留原样的时间…查询如下: 但是它覆盖了实地的小时,分​​钟和秒,我想更新日期,但我希望小时数保持不变,有什么想法吗? 问题答案: 您可以使用:

  • 问题内容: 我有一个称为 activity_dt 的日期时间,数据如下所示: 如何按日期和小时分组? 问题答案: SQL Server: 甲骨文: MySQL的:

  • 问题内容: 每个人。我收到此错误: 对于这段代码 关于为什么发生这种情况的任何建议,我都会吸用结构化语言,以便您知道:) 问题答案: 使用。

  • 问题内容: 我有一个带有日期时间字段的模型,我想显示当天的访问最多的条目。 我以为我可以尝试使用类似dt_published__date的方法从datetime字段中提取日期,但是显然它没有用。 我怎样才能做到这一点? 问题答案: AFAIK Django尚不支持该语法。为此有一张票。 如果您的数据库具有提取日期部分的功能,则可以执行以下操作:

  • 问题内容: 我在表中有字段。它包含的值为“ 2009-12-30 11:47:20:297”,我有这样的查询: 尽管今天的日期存在一行,但是在执行上述查询时我没有得到这一行。有人可以帮忙吗? 问题答案: 您的查询未返回期望的行的原因是因为GETDATE()返回了执行查询时的日期和时间部分。列中的值与时间部分不匹配,因此不会返回任何行。 有多种构造查询的方法,以便查询仅基于日期组件来评估日期。这是一

  • 问题内容: 我正在尝试对此表进行查询: 我想获得输出: 我想得到那个结果,所以我会知道什么时候开始赚钱,什么时候停止钱。我还对开始花钱之前的月份数(这解释了第一行)以及停止钱的月份数(这解释了为什么我也对2013年7月至2013年8月的第三行感兴趣)感兴趣。 )。 我知道我可以在日期上使用min和max,在金额上使用sum,但是我不知道如何以这种方式划分记录。 谢谢! 问题答案: 这是一个主意(和