mysql查询本周内每天统计量按天展示的示例代码
作者:良田7 时间:2024-01-22 07:05:01
本周
SELECT
b.item,IFNULL(a.COUNT,0) AS VALUE
FROM (
SELECT DATE(subdate(curdate(),date_format(curdate(),'%w')-1)) as item
union all
SELECT DATE(DATE_ADD(subdate(curdate(),date_format(curdate(),'%w')-1), interval 1 day)) as item
union all
SELECT DATE(DATE_ADD(subdate(curdate(),date_format(curdate(),'%w')-1), interval 2 day)) as item
union all
SELECT DATE(DATE_ADD(subdate(curdate(),date_format(curdate(),'%w')-1), interval 3 day)) as item
union all
SELECT DATE(DATE_ADD(subdate(curdate(),date_format(curdate(),'%w')-1), interval 4 day)) as item
union all
SELECT DATE(DATE_ADD(subdate(curdate(),date_format(curdate(),'%w')-1), interval 5 day)) as item
union all
SELECT DATE(DATE_ADD(subdate(curdate(),date_format(curdate(),'%w')-1), interval 6 day)) as item
) b
LEFT JOIN
(
SELECT DATE_FORMAT(create_time,'%Y-%m-%d') days, COUNT(*) COUNT
FROM (SELECT * FROM `table` WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= DATE(create_time)) as c
GROUP BY days
) AS a
ON (b.item = a.days)
前七天
SELECT
b.item,IFNULL(a.COUNT,0) AS VALUE
FROM (
SELECT CURDATE() AS item
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY) AS item
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 2 DAY) AS item
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 3 DAY) AS item
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 4 DAY) AS item
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 5 DAY) AS item
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 6 DAY) AS item
) b
LEFT JOIN
(
SELECT DATE_FORMAT(create_time,'%Y-%m-%d') days, COUNT(*) COUNT
FROM (SELECT * FROM `table` WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= DATE(create_time)) as c
GROUP BY days
) AS a
ON (b.item = a.days)
本月
SELECT
`type`,
max( `count` ) AS `count`
FROM
(
SELECT
count(*) AS `count`,
DATE_FORMAT( create_time, '%Y-%m-%d' ) AS `type`
FROM
`table` a
WHERE
DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT( CURDATE(), '%Y%m' )
GROUP BY
`type` UNION ALL
SELECT
0 AS `copunt`,
@cdate := date_add( @cdate, INTERVAL - 1 DAY ) `type`
FROM
( SELECT @cdate := date_add( last_day( curdate()), INTERVAL + 1 DAY ) FROM `table` ) t1
WHERE
@cdate > (
date_add( curdate(), INTERVAL - DAY ( curdate())+ 1 DAY ))
) _tmpAllTable
GROUP BY
`type`
本年按月展示
SELECT
CONCAT(
YEAR ( click_date ),
'-',
MONTH ( click_date )) AS `type`,
IFNULL( b.con, 0 ) AS `count`
FROM
(
SELECT
STR_TO_DATE( CONCAT( YEAR ( CURDATE()), '-', 1, '-', 1 ), '%Y-%m-%d' ) AS click_date UNION ALL
SELECT
DATE_ADD( STR_TO_DATE( CONCAT( YEAR ( CURDATE()), '-', 1, '-', 1 ), '%Y-%m-%d' ), INTERVAL 1 MONTH ) AS click_date UNION ALL
SELECT
DATE_ADD( STR_TO_DATE( CONCAT( YEAR ( CURDATE()), '-', 1, '-', 1 ), '%Y-%m-%d' ), INTERVAL 2 MONTH ) AS click_date UNION ALL
SELECT
DATE_ADD( STR_TO_DATE( CONCAT( YEAR ( CURDATE()), '-', 1, '-', 1 ), '%Y-%m-%d' ), INTERVAL 3 MONTH ) AS click_date UNION ALL
SELECT
DATE_ADD( STR_TO_DATE( CONCAT( YEAR ( CURDATE()), '-', 1, '-', 1 ), '%Y-%m-%d' ), INTERVAL 4 MONTH ) AS click_date UNION ALL
SELECT
DATE_ADD( STR_TO_DATE( CONCAT( YEAR ( CURDATE()), '-', 1, '-', 1 ), '%Y-%m-%d' ), INTERVAL 5 MONTH ) AS click_date UNION ALL
SELECT
DATE_ADD( STR_TO_DATE( CONCAT( YEAR ( CURDATE()), '-', 1, '-', 1 ), '%Y-%m-%d' ), INTERVAL 6 MONTH ) AS click_date UNION ALL
SELECT
DATE_ADD( STR_TO_DATE( CONCAT( YEAR ( CURDATE()), '-', 1, '-', 1 ), '%Y-%m-%d' ), INTERVAL 7 MONTH ) AS click_date UNION ALL
SELECT
DATE_ADD( STR_TO_DATE( CONCAT( YEAR ( CURDATE()), '-', 1, '-', 1 ), '%Y-%m-%d' ), INTERVAL 8 MONTH ) AS click_date UNION ALL
SELECT
DATE_ADD( STR_TO_DATE( CONCAT( YEAR ( CURDATE()), '-', 1, '-', 1 ), '%Y-%m-%d' ), INTERVAL 9 MONTH ) AS click_date UNION ALL
SELECT
DATE_ADD( STR_TO_DATE( CONCAT( YEAR ( CURDATE()), '-', 1, '-', 1 ), '%Y-%m-%d' ), INTERVAL 10 MONTH ) AS click_date UNION ALL
SELECT
DATE_ADD( STR_TO_DATE( CONCAT( YEAR ( CURDATE()), '-', 1, '-', 1 ), '%Y-%m-%d' ), INTERVAL 11 MONTH ) AS click_date
) a
LEFT JOIN ( SELECT COUNT(*) AS con, CONCAT( YEAR ( REPORTDATE ), '-', MONTH ( REPORTDATE )) AS mon FROM `ls172_workorder` GROUP BY mon ) b ON CONCAT(
YEAR ( click_date ),
'-',
MONTH ( click_date ))= b.mon
来源:https://blog.csdn.net/m0_52786528/article/details/124339848
标签:mysql,统计,按天
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
在asp中调用sql server的存储过程方法
2007-08-13 13:28:00
![](https://img.aspxhome.com/file/UploadPic/up/2007081313422835.jpg)
python版学生管理系统
2023-07-27 07:21:46
![](https://img.aspxhome.com/file/2023/1/90451_0s.png)
python实现KNN近邻算法
2022-08-13 08:24:58
MySQL 查询缓存的实际应用代码示例
2010-06-11 12:04:00
CPQuery 解决拼接SQL的新方法
2012-11-30 20:01:46
第二篇Bootstrap起步
2024-04-16 08:59:36
![](https://img.aspxhome.com/file/2023/9/136729_0s.png)
学会迭代器设计模式,帮你大幅提升python性能
2023-01-22 12:36:01
Python warning警告出现的原因及忽略方法
2021-10-16 10:59:02
python分析nignx访问日志脚本分享
2021-05-22 14:55:14
python输入、数据类型转换及运算符方式
2021-08-09 19:20:17
![](https://img.aspxhome.com/file/2023/3/65863_0s.png)
python 读取文本文件的行数据,文件.splitlines()的方法
2021-07-18 16:58:05
Python可执行文件反编译教程(exe转py)
2022-05-07 19:37:11
![](https://img.aspxhome.com/file/2023/0/104810_0s.jpg)
pygame游戏之旅 添加游戏界面按键图形
2023-06-30 21:48:38
![](https://img.aspxhome.com/file/2023/4/87754_0s.jpg)
Linux下安装Python3和django并配置mysql作为django默认服务器方法
2023-11-15 01:04:44
使用Python读取二进制文件的实例讲解
2021-08-20 11:34:48
![](https://img.aspxhome.com/file/2023/9/72969_0s.jpg)
python线程定时器Timer实现原理解析
2022-01-08 20:25:36
Python如何把不同类型数据的json序列化
2021-06-01 22:52:16
python3.8.3安装教程及环境配置的详细教程(64-bit)
2023-03-01 05:21:10
![](https://img.aspxhome.com/file/2023/4/133494_0s.jpg)
python实现简单颜色识别程序
2022-07-15 09:34:47
![](https://img.aspxhome.com/file/2023/4/121094_0s.jpg)
简易CSS相册源代码
2008-04-18 12:28:00