【问题标题】:Count totals by year and month按年和月计算总数
【发布时间】:2011-03-02 10:45:50
【问题描述】:

我有一张如下所示的表格:

id,created,action
1,'2011-01-01 04:28:21','signup'
2,'2011-01-05 04:28:21','signup'
3,'2011-02-02 04:28:21','signup'

我如何选择和分组这些,所以输出是:

year,month,total
2011,1,2
2011,2,1

【问题讨论】:

    标签: mysql date group-by aggregate


    【解决方案1】:

    试试这个:

    SELECT DATE_FORMAT(created, '%Y') as 'year',
    DATE_FORMAT(created, '%m') as 'month',
    COUNT(id) as 'total'
    FROM table_name
    GROUP BY DATE_FORMAT(created, '%Y%m')
    

    【讨论】:

    • 这不起作用。相同的列必须在 group by 和 select 条件中,因此您需要返回 DATE_FORMAT(created, '%Y%m') 或在两个条件下拆分 group by
    • 我用它来计算每月 Wordpress cmets 的 Excel 图表,通过:SELECT DATE_FORMAT(comment_date, '%Y') as 'year', DATE_FORMAT(comment_date, '%m') as 'month', COUNT(comment_id) as 'total' FROM wp_comments WHERE comment_approved = 1 GROUP BY DATE_FORMAT(comment_date, '%Y%m')
    【解决方案2】:
    SELECT YEAR(created) as year_val, MONTH(created) as month_val ,COUNT(*) as total
    FROM testing
    GROUP BY YEAR(created), MONTH(created)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-29
      • 2020-07-20
      • 1970-01-01
      • 2020-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-25
      相关资源
      最近更新 更多