case when
SELECTdate(uv.created_at) dt,CASEWHEN uv.device_type = 1 THEN'Android'WHEN uv.device_type = 2 THEN'ios'WHEN uv.device_type = 3 THEN'touch'WHEN uv.device_type = 4 THEN'pc'END kud,count(DISTINCT uv.device_id) 点阅人数from t591.user_device_visit_record uvwhere uv.type = 1AND uv.created_at >= '2022-01-09 00:00:00'AND uv.created_at < '2022-01-10 00:00:00'GROUP BY dt,kud
日期相关
1 上个月1号
SELECT DATE_FORMAT(CURDATE() - INTERVAL 0 MONTH,'%Y-%m-01 00:00:00')
2 上周几日期
已经获取到了本周一的日期,再多减一天就能得到上周日数据,获取上周一即多减7天(相对本周一),最后如下
# 获取本周一SELECT DATE_sub(curdate(),INTERVAL date_format(curdate(),'%w')-1 day)# 获取上周一SELECT DATE_sub(curdate(),INTERVAL date_format(curdate(),'%w')-1+7 day)# 上上周一SELECT DATE_sub(curdate(),INTERVAL date_format(curdate(),'%w')-1+7+7 day)# 获取本周日SELECT DATE_sub(curdate(),INTERVAL date_format(curdate(),'%w')-7 day)# 获取上周日SELECT DATE_sub(curdate(),INTERVAL date_format(curdate(),'%w') day)# 上上周日SELECT DATE_sub(curdate(),INTERVAL date_format(curdate(),'%w')+7 day)# 依此类推
