1.统计2022.12.01到2023.01.28号每天的订单数(没有订单的数据将不会展示)
SELECT
DATE_FORMAT(finish_date,'%Y-%m-%d') AS dateTime,COUNT(1) AS countNumber
FROM
order
WHERE
order_status = 2
AND finish_date >= '2022-12-01 00:00:00'
AND finish_date <= '2023-01-28 23:59:59'
GROUP BY DATE_FORMAT(finish_date,'%Y-%m-%d');
DATE_FORMAT是设置时间格式
GROUP BY 分组
2.统计2022年的数据,按天展示,没有的展示0
SELECT
aa1.dateTime1,
IFNULL( t1.countNumber,0)
FROM
( SELECT 366-Time_zone_id, DATE_FORMAT( date_add( '2022-01-01 00:00:00', INTERVAL aa.Time_zone_id DAY ), '%Y-%m-%d' ) AS dateTime1 FROM mysql.time_zone aa LIMIT 366 ) aa1
LEFT JOIN (
SELECT
DATE_FORMAT( gmt_modified, '%Y-%m-%d' ) AS dateTime,
COUNT( 1 ) AS countNumber
FROM
evaluation_order
WHERE
order_status = 3 -- AND cst.institutions_id='845778448273113088'
AND gmt_modified >= '2022-01-01 00:00:00'
AND gmt_modified <= '2022-12-31 23:59:59'
GROUP BY
DATE_FORMAT(gmt_modified, '%Y-%m-%d' )
) t1 ON t1.dateTime = aa1.dateTime1
LIMIT 366