【问题标题】:mysql select sum group by datemysql 按日期选择总和组
【发布时间】:2010-10-30 13:47:13
【问题描述】:

快速提问,我有下表

+-------------+---------------------+
| total       | o_date              |
+-------------+---------------------+
|          35 | 01-11-2009 19:32:44 | 
|        41.5 | 01-12-2009 22:33:49 | 
|        61.5 | 01-23-2009 22:08:24 | 
|          66 | 02-01-2009 22:33:57 | 
|       22.22 | 02-01-2009 22:37:34 | 
|       29.84 | 04-20-2009 15:23:49 | 
+-------------+---------------------+

我想将每个月的总数相加并按月分组。例如 Jan-> 138 Feb-> 88.2 Apr-> 29.84

关于它的任何线索。谢谢

【问题讨论】:

    标签: mysql select group-by


    【解决方案1】:

    此解决方案会将月份名称作为结果集的一列提供,然后根据需要提供总计。

    SELECT MONTHNAME(o_date), SUM(total) 
    FROM theTable
    GROUP BY YEAR(o_date), MONTH(o_date)
    

    【讨论】:

    • 您可能还想将年份添加到选择列表中 -> YEAR(o_date)
    • 或者,要以您指定的格式获取它,您可以执行 SELECT CONCAT(MONTHNAME(o_date), '-> ', SUM(total))
    • 非常有用!你可以添加列来分组
    【解决方案2】:
    select year(o_date), month(o_date), sum(total)
    from table
    group by year(o_date), month(o_date);
    

    【讨论】:

    • 假设您希望将不同年份的月份单独分组
    【解决方案3】:

    从 MySQL 数据库中获取月份和年份数据:

    SELECT MONTHNAME(o_date), YEAR(o_date), SUM(total) 
    FROM the_table 
    GROUP BY YEAR(date), MONTH(date)
    

    【讨论】:

      【解决方案4】:
      SELECT SUM(total)
      FROM table
      GROUP BY MONTH(o_date)
      

      【讨论】:

        【解决方案5】:

        试试Group BY,像这样:

        select count(A_id) As Tid,Day(CrDate) from Ap Group By Day(CrDate)
        

        【讨论】:

          【解决方案6】:
          SELECT year(FROM_UNIXTIME(created)) year, month(FROM_UNIXTIME(created)) month, sum(amount) total
          FROM {my_table}
          GROUP BY year, month
          ORDER BY year, month;
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-05-31
            • 1970-01-01
            • 2014-04-12
            • 1970-01-01
            • 2015-09-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多