【问题标题】:Calculating weekly data from a range of dates从一系列日期计算每周数据
【发布时间】:2014-02-09 08:50:42
【问题描述】:

我有一个日期范围,可以说是 2012-12-012013-01-09。我想获取记录数的每周数据,它应该是从每周的开始日期开始的 7 天。所以 2012-12-012012-12-07week1 等等......

表格如下,

+-ID-+--items---+---dated---+
+----+----------+-----------+
| 1  | 10       |2012-12-01 |
| 2  | 2        |2012-12-02 |
| .  | .        |   .       |
| .  | .        |   .       |
| .  | .        |   .       |
+----+----------+-----------+

初始查询Select count(items),week(date) from item_data

【问题讨论】:

    标签: mysql sql datetime select group-by


    【解决方案1】:

    试试这个...

    SELECT `id`, `items`, `dated`
    FROM `table` 
    GROUP BY WEEK(`dated`) 
    

    【讨论】:

      【解决方案2】:
      SELECT SUM(items) AS total_items, CONCAT(dated, ' - ', dated + INTERVAL 6 DAY) AS week
          FROM tablename
          GROUP BY WEEK(dated)
          ORDER BY WEEK(dated);
      

      【讨论】:

        【解决方案3】:

        试试这个:

        SELECT CEILING(DATEDIFF(dated, '2012-12-01')) AS weekNo, SUM(items) AS NoOfItems
        FROM table
        WHERE dated BETWEEN '2012-12-01' AND '2013-01-09'
        GROUP BY weekNo
        

        【讨论】:

          猜你喜欢
          • 2015-02-03
          • 1970-01-01
          • 1970-01-01
          • 2015-10-17
          • 1970-01-01
          • 2020-10-08
          • 1970-01-01
          相关资源
          最近更新 更多