如何写SQL语句按周统计和按季度统计

如何写SQL语句按周统计和按季度统计,第1张

--sqlserver2005语法统计按周,月,季,年。

--按日

--select sum(price),day([date]) from table_name where year([date]) =

'2006' group by day([date])

--按周quarter

select sum(price),datename(week,price_time) from ble_name where

year(price_time) = '2008' group by datename(week,price_time)

--按月

select sum(price),month(price_time) from ble_name where year(price_time)

= '2008' group by month(price_time)

--按季

select sum(price),datename(quarter,price_time) from ble_name where

year(price_time) = '2008' group by datename(quarter,price_time)

--按年

select sum(price),year(price_time) from ble_name where

year(price_time) >= '2008' group by year(price_time)

和按月份组的原理是一样的吧!

按月分组

按季度分组和按月分组的区别应该就是时间段的区别吧!

select case when  month(date)  =1 or month(date) =2 

                   or month(date)=3   then '一季度' 

            when  month(date)  =4 or month(date) =5 

                   or month(date)=6   then '2季度' 

            when  month(date)  =7 or month(date) =8 

                   or month(date)=9   then '3季度' 

            when  month(date)  =10 or month(date) =11 

                   or month(date)=12   then '4季度' 

            else '' end ,sum(数量)

            from table 

            group by  

              case when  month(date)  =1 or month(date) =2 

                   or month(date)=3   then '一季度' 

            when  month(date)  =4 or month(date) =5 

                   or month(date)=6   then '2季度' 

            when  month(date)  =7 or month(date) =8 

                   or month(date)=9   then '3季度' 

            when  month(date)  =10 or month(date) =11 

                   or month(date)=12   then '4季度' 

            else '' end

俩方法

select year(订单.订购日期)年份,

sum(case when month(订单.订购日期) between 1 and 3 then 订单明细.单价*订单明细.数量 else 0 end) 一季度销售金额,

sum(case when month(订单.订购日期) between 4 and 6 then 订单明细.单价*订单明细.数量 else 0 end) 二季度销售金额,

sum(case when month(订单.订购日期) between 7 and 9 then 订单明细.单价*订单明细.数量 else 0 end) 三季度销售金额,

sum(case when month(订单.订购日期) between 10 and 12 then 订单明细.单价*订单明细.数量 else 0 end) 四季度销售金额

from 订单,订单明细 

where 订单.订单ID=订单明细.订单ID and year(订单.订购日期) between 1996 and 1998

group by year(订单.订购日期) select year(订单.订购日期) 年份,

case when month(订单.订购日期) between 1 and 3 then '一季度'

when month(订单.订购日期) between 4 and 6 then '二季度'

when month(订单.订购日期) between 7 and 9 then '三季度'

when month(订单.订购日期) between 10 and 12 then '四季度' end 季度,

sum(订单明细.单价*订单明细.数量) 金额

from 订单,订单明细 

where 订单.订单ID=订单明细.订单ID and year(订单.订购日期) between 1996 and 1998

group by year(订单.订购日期),

case when month(订单.订购日期) between 1 and 3 then '一季度'

when month(订单.订购日期) between 4 and 6 then '二季度'

when month(订单.订购日期) between 7 and 9 then '三季度'

when month(订单.订购日期) between 10 and 12 then '四季度' end

你看你要用哪个


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6171083.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存