SELECTDATE( create_date ) AS date,COUNT( 1 ) AS count
FROMorders
WHEREDATE_SUB( CURDATE( ), INTERVAL 7 DAY ) <= DATE( create_date )
GROUP BYdate;
sql 语句解析
2000-01-01
这种格式2020-06-30
等同于 date(now())
但该语句不会显示没有订单的日期,参考其他博客将sql优化为如下
select a.date,unt,0) as count
from (SELECT curdate() as dateunion allSELECT date_sub(curdate(), interval 1 day) as click_dateunion allSELECT date_sub(curdate(), interval 2 day) as click_dateunion allSELECT date_sub(curdate(), interval 3 day) as click_dateunion allSELECT date_sub(curdate(), interval 4 day) as click_dateunion allSELECT date_sub(curdate(), interval 5 day) as click_dateunion allSELECT date_sub(curdate(), interval 6 day) as click_date
) a left join (select date(create_date) as createdate, count(*) as countfrom ordersgroup by date(create_date)
) b on a.date = b.createdate;
SELECT YEAR(create_date) as year,COUNT(1) as count FROM orders GROUP BY year;
SELECT MONTH(create_date) as month,COUNT(1) as count FROM orders WHERE YEAR(create_date) = YEAR(NOW()) GROUP BY month ORDER BY month;
SELECT WEEK(create_date) as week,COUNT(1) as count FROM orders WHERE YEAR(create_date) = YEAR(NOW()) GROUP BY week ORDER BY week;
本文发布于:2024-01-31 07:08:26,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170665610926514.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |