【问题标题】:Group by the date part of a timestamp field按时间戳字段的日期部分分组
【发布时间】:2014-05-01 14:45:03
【问题描述】:

我有users 表。我想生成当天加入的用户的报告。 问题是,我的 DateJoined 字段是 timestamp 字段,

查询如下:

SELECT COUNT(UserID) AS TOT FROM users GROUP BY DateJoined

不起作用,我怎样才能将它发送到 GROUP BY 只是日期部分而不是 DateJoined 字段的时间?

【问题讨论】:

标签: mysql group-by timestamp


【解决方案1】:

您的代码:

SELECT 
      COUNT(UserID) AS TOT 
      FROM users 
      GROUP BY DateJoined

你应该改变如下:

SELECT 
       DATE(DateJoined), 
       COUNT(UserID) AS TOT 
       FROM users 
       GROUP BY DATE(DateJoined)

sqlfiddle

【讨论】:

    【解决方案2】:

    这样试试

     SELECT COUNT(UserID) AS TOT FROM users GROUP BY CAST(DateJoined AS DATE)
    

    SELECT COUNT(UserID) AS TOT, FROM a_table GROUP BY DATE(DateJoined );
    

    【讨论】:

      【解决方案3】:

      像这样使用查询

      SELECT COUNT(UserID) AS TOT FROM users GROUP BY DATE(DateJoined)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-08
        相关资源
        最近更新 更多