【问题标题】:MySQL group by day with TIMESTAMP columnMySQL 按天分组,带有 TIMESTAMP 列
【发布时间】:2011-09-29 06:55:09
【问题描述】:

我有一个 mysql 表,其中有一个 TIMESTAMP 格式的“日期时间”列。有没有办法使用该列按天对行进行分组?并且在 SQL 查询中,不在 php 中对它们进行分组。

【问题讨论】:

  • 你的意思是它是 DATETIME 格式,还是一个日期格式如此的 VARCHAR?
  • 它的类型是 timestampt 和默认值 CURRENT_TIMESTAMP
  • 提示:如果是DATETIMETIMESTAMP 列,则它显示的格式 无关紧要。时间在内部以数字形式存储,当您查看它时,它只是格式化为Y-m-d H:i:s
  • (当你查看它时它的格式可能也取决于你的语言环境设置)

标签: php mysql database group-by


【解决方案1】:

假设您的专栏是Date and Time types 之一:

SELECT ... GROUP BY DATE(`datetimecolumn`)

【讨论】:

    【解决方案2】:
    GROUP BY TO_DAYS(`datetime_column`)
    

    【讨论】:

    • 如果列是 unixtime 可以使用TO_DAYS(FROM_UNIXTIME(`unixtime_column`))。这有效:D
    【解决方案3】:

    如果你的意思是你有一个标准的 DATETIME 列,你可以使用here 描述的函数之一进行分组。

    例如:

    GROUP BY DATE(datetime_column);
    

    如果您实际上有一个 TEXT 或 VARCHAR 列(您的答案没有指定),那么您需要先将其转换为日期:

    GROUP BY DATE(STR_TO_DATE(datetime_column));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-10
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多