SQL语句统计每天、每月、每年的数据

统计每月

--这种形式只能查数据库存在的日期  比如数据库只有到六月分的 那六月以后的就没有
select 需要的字段,
  month (  日期字段) as 月份,
  sum( 要统计的字段) as 总数
from
  表
where
  year (  日期字段) = DATEPART(year, GETDATE())    -- 要查某年  这里获取当年
group by
 需要的字段,month (  日期字段)

----这种形式自定义月份  可查全年没有则为0
select  需要的字段,sum(case when  datepart(month,日期字段)=1 then 1 else 0 end) as '1月',
        sum(case when  datepart(month,日期字段)=2 then 1 else 0 end) as '2月',
        sum(case when  datepart(month,日期字段)=3 then 1 else 0 end) as '3月',
        sum(case when  datepart(month,日期字段)=4 then 1 else 0 end) as '4月',
        sum(case when  datepart(month,日期字段)=5 then 1 else 0 end) as '5月',
        sum(case when  datepart(month,日期字段)=6 then 1 else 0 end) as '6月',
        sum(case when  datepart(month,日期字段)=7 then 1 else 0 end) as '7月',
        sum(case when  datepart(month,日期字段)=8 then 1 else 0 end) as '8月',
        sum(case when  datepart(month,日期字段)=9 then 1 else 0 end) as '9月',
        sum(case when  datepart(month,日期字段)=10 then 1 else 0 end) as '10月',
        sum(case when  datepart(month,日期字段)=11 then 1 else 0 end) as '11月',
        sum(case when  datepart(month,日期字段)=12 then 1 else 0 end) as '12月'
    from 表 
    where year (  日期字段) = DATEPART(year, GETDATE())   group by 分组的字段-- 要查某年  这里获取当年
1、每年
select year(ordertime) 年,
sum(Total) 销售合计
from 订单表
group by year(ordertime)

2、每月
select year(ordertime) 年,
month(ordertime) 月,
sum(Total) 销售合计
from 订单表
group by year(ordertime),
month(ordertime

3、每日
select year(ordertime) 年,
month(ordertime) 月,
day(ordertime) 日,
sum(Total) 销售合计
from 订单表
group by year(ordertime),
month(ordertime),
day(ordertime)

另外每日也可以这样:
select convert(char(8),ordertime,112) dt,
sum(Total) 销售合计
from 订单表
group by convert(char(8),ordertime,112)

 

SQL语句统计每天、每月、每年的数据SQL语句统计每天、每月、每年的数据 一只小程序员 发布了122 篇原创文章 · 获赞 9 · 访问量 7万+ 私信 关注
上一篇:导航根据当前点击焦点滚动


下一篇:SQL Server系统函数:日期函数