mysql 【DATE_FORMAT】,【YEARWEEK】 统计每月,每周新增数值

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Mwangsheng/article/details/83754531

mysql可根据create_time 字段进行统计每月,每周新增数据,其中mysql 默认周日为每周的第一天,所以YEARWEEK函数要稍作改变。

表数据如下:

id    name    create_time    update_time    pid
1    a    2018-11-07 18:24:30        
2    b    2018-11-01 18:24:44        1
3    c    2018-11-05 18:51:21        1
4    d    2018-10-03 18:25:15        1
5    e    2018-11-07 18:33:53        1

其中,pid是上级用户id,表自身进行左链接查询。SQL文如下:

 SELECT COUNT(*) AS totalCount, COUNT(f.id) AS monthCount, COUNT(c.id) AS weekCount
 FROM `customer` lc
 LEFT JOIN customer f ON f.id = lc.`id` AND DATE_FORMAT(f.create_time ,'%y-%m') = DATE_FORMAT(NOW(),'%y-%m')
 LEFT JOIN customer c ON c.id = lc.id AND YEARWEEK(c.create_time,1) = YEARWEEK(NOW(),1)
 WHERE lc.pid = 1

其中YEARWEEK(NOW(),1),设置周一为每周的第一天,mysql默认周日为每周的第一天。

totalCount    monthCount    weekCount
4    3    2

猜你喜欢

转载自blog.csdn.net/Mwangsheng/article/details/83754531
今日推荐