oracle行总计,汇总SQL Server或Oracle中的聚合

GROUP BY LOCATION WITH ROLLUP

你需要什么?

;WITH MYTABLE AS

(

SELECT 'FL' AS LOCATION,CAST('10/1/2009' AS DATETIME) AS my_date, 1 AS QTY UNION ALL

SELECT 'MD' AS LOCATION,'10/1/2009' AS my_date, 27 AS QTY UNION ALL

SELECT 'MD' AS LOCATION,'01/1/2010' AS my_date, 1024 AS QTY UNION ALL

SELECT 'FL' AS LOCATION,'07/1/2010' AS my_date, 98 AS QTY UNION ALL

SELECT 'FL' AS LOCATION,'07/1/2010' AS my_date, 5 AS QTY

)

SELECT

COALESCE(LOCATION,'TOTAL'),

SUM(CASE WHEN my_date >= '10/1/2009' AND my_date

ELSE NULL END) AS QTR1,

SUM(CASE WHEN my_date >= '01/1/2010' AND my_date

ELSE NULL END) AS QTR2,

SUM(CASE WHEN my_date >= '04/1/2010' AND my_date

ELSE NULL END) AS QTR3,

SUM(CASE WHEN my_date >= '07/1/2010' AND my_date

ELSE NULL END) AS QTR4

FROM MYTABLE

GROUP BY LOCATION WITH ROLLUP

退换商品

QTR1 QTR2 QTR3 QTR4

----- ----------- ----------- ----------- -----------

FL 1 NULL NULL 103

MD 27 1024 NULL NULL

TOTAL 28 1024 NULL 103

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值