MySQl语句

这是一个测试用的表 表名为users
在这里插入图片描述查询总数量

Select count(*) from users

查询近30天的数据量包括今天

SELECT COUNT(*) FROM users WHERE DATEDIFF(birthday,NOW())<=0 AND DATEDIFF(birthday,NOW())>-30
``


查询上一周的数据

SELECT a.click_date,IFNULL(b.count,0) AS COUNT
FROM (
SELECT DATE_SUB(SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),’%w’)-1), INTERVAL 1 DAY) AS click_date
UNION ALL
SELECT DATE_SUB(SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),’%w’)-1), INTERVAL 2 DAY) AS click_date
UNION ALL
SELECT DATE_SUB(SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),’%w’)-1), INTERVAL 3 DAY) AS click_date
UNION ALL
SELECT DATE_SUB(SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),’%w’)-1), INTERVAL 4 DAY) AS click_date
UNION ALL
SELECT DATE_SUB(SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),’%w’)-1), INTERVAL 5 DAY) AS click_date
UNION ALL
SELECT DATE_SUB(SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),’%w’)-1), INTERVAL 6 DAY) AS click_date
UNION ALL
SELECT DATE_SUB(SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),’%w’)-1), INTERVAL 7 DAY) AS click_date
) a LEFT JOIN (
SELECT DATE(时间字段) AS DATETIME, COUNT(*) AS COUNT
FROM 表名 可以在这里加where条件
GROUP BY DATE(时间字段)
) b ON a.click_date = b.datetime ;


上周


 SELECT * FROM users WHERE birthday>=DATE_ADD(NOW(),INTERVAL -(8 + WEEKDAY(NOW())) DAY)
AND birthday<=DATE_ADD(NOW(),INTERVAL -(1 + WEEKDAY(NOW())) DAY);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值