Mysql:每周平均分组

时间:2019-06-13 07:56:36

标签: mysql group-by

假设我有一个这样的表:

ID    Type    Itemcount    DateTime 
1       2          4        2018-05-05
2       1          10       2019-09-09
3       2          4        2018-05-05
4       1          10       2019-09-09

如何获取日期时间之前存在的类型1的平均项目数量(每周分组) 我应该回去一年吗?最大物品数量是多少?

我的解决方案:

set @totalitemssAllTypes =  (SELECT count(Itemcount)
        FROM db_dev.products
        where Datetime >= '2018-06-12 00:10:00.000000');

    SELECT CONCAT(YEAR(Datetime ), '/',MONTH(Datetime ), '/', WEEK(Datetime )), (count(LotCount)/@totalitemssAllTypes )
            FROM db_dev.products
            where Datetime >= '2018-06-12 00:10:00.000000' and 
                         Type    = 1
            GROUP BY WEEK(Datetime);

请帮助谢谢

1 个答案:

答案 0 :(得分:1)

一个选项将使用app-root * {}函数进行汇总:

app-root

应注意,WEEK()可能不会从最早的一周开始算起从1开始的几周。