根据日期统计sql语句

根据日期统计sql语句

今天

SELECT 统计字段 name ,COUNT(1) value 
FROMWHERE TO_DAYS(日期字段) = TO_DAYS(now()) 
GROUP BY name;

昨天

SELECT 统计字段 name ,COUNT(1) value 
FROMWHERE TO_DAYS( now( ) ) - TO_DAYS( 日期字段) <= 1 
GROUP BY name;

本周

SELECT 统计字段,时间字段 
FROMWHERE YEARWEEK(date_format(时间字段,'%Y%m%d')) = YEARWEEK(now());

近7天(统计每天)

SELECT 统计字段  name ,COUNT(1) value,DATE_FORMAT(日期字段,'%Y%m%d') date 
FROMWHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= DATE(日期字段)
GROUP BY  name ,date
ORDER BY  name ,date asc

上周

SELECT 统计字段,时间字段 
FROMWHERE YEARWEEK(date_format(时间字段,'%Y%m%d'))= YEARWEEK(now())-1;

本月

SELECT * 
FROM 表名 
WHERE DATE_FORMAT(日期字段,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m')

上月

SELECT 查询字段 
FROMWHERE PERIOD_DIFF( DATE_FORMAT( now() , '%Y%m' ) , DATE_FORMAT( 日期字段, '%Y%m' ) ) =1

近6个月

SELECT 查询字段,时间字段
FROMWHERE 时间字段 between date_sub(now(),interval 6 month) and now();

近12个月(统计每月)

SELECT 统计字段 name, DATE_FORMAT(时间字段,'%Y%m') date,COUNT(1) value
FROMWHERE 1 = 1
GROUP BY date,name
HAVING date < DATE_FORMAT(DATE_ADD(NOW(),INTERVAL 1 MONTH ), '%Y%m' )
AND date > DATE_FORMAT(DATE_ADD(NOW(), INTERVAL - 12 MONTH ), '%Y%m' )
ORDER BY name,date asc

本季度

SELECT * 
FROMWHERE  QUARTER(日期字段)=QUARTER(now());

上季度

SELECT * 
FROMWHERE QUARTER(日期字段)=QUARTER(DATE_SUB(now(),interval 1 QUARTER));

本年度

SELECT * 
FROMWHERE YEAR(日期字段)=YEAR(NOW());

上一年

SELECT * 
FROMWHERE YEAR(日期字段)=YEAR(date_sub(now(),interval 1 year));
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值