各种按日期、时间段统计SQL语句

转载自:https://blog.csdn.net/qq_40900853/article/details/85231541
--前一日
select * from 表名 where datediff(d,cast(日期 as datetime),getdate())=1

--上周

select * from 表名 where datediff(ww,cast(日期 as datetime),getdate())=1

--上周

select * from 表名 where DATEPART(ww, 日期) = DATEPART(ww, GETDATE())-1 and DATEPART(yy, 日期) = DATEPART(yy, GETDATE())

--上月

select * from 表名 where datediff(month,cast(日期 as datetime),getdate())=1

--上年

select * from 表名 where datediff(year,cast(日期 as datetime),getdate())=1

--按日统计

select count(*),day([date]) from 表名 where year([date]) = '2006' group by day([date])

--按周

select count(*),datename(week,[date]) from 表名 where year([date]) = '2006' group by datename(week,[date])

--按月

select count(*),month([date]) from 表名 where year([date]) = '2006' group by month([date])

--按季

select count(*),datename(quarter,[date]) from 表名 where year([date]) = '2006' group by datename(quarter,[date])

--按年

select count(*),year([date]) from 表名 where
year([date]) >= '2000' group by year([date])

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容