PLSQL:在一个查询中获取一周中每一天的总和和一周的总和

前端之家收集整理的这篇文章主要介绍了PLSQL:在一个查询中获取一周中每一天的总和和一周的总和前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
比方说,我有一个表ClientClde,就像这样:

ClientName,TradeDate,Quantity

我想在Oracle PLsql中创建一个查询,它应该返回如下结果:
(天数来自TradeDate列,Mon = Sum(数量)为Mon,Tue = sum(Quantity)为Tue ……等)

ClientName  Mon Tue Wed Thu Fri Sat Sun TotalForWeek
ABC         10  15  5   2   4   0   0   34
XYZ         1   1   2   1   2   0   0   7

假设此报告始终具有使其运行一周的条件,是否可以在单个查询中创建此报告?

解决方法

只是简化一下……

SELECT ClientName,SUM(CASE WHEN to_char(TradeDate,'DY')='MON' THEN Quantity ELSE NULL END) AS Mon,'DY')='TUE' THEN Quantity ELSE NULL END) AS Tue,'DY')='WED' THEN Quantity ELSE NULL END) AS Wed,'DY')='THU' THEN Quantity ELSE NULL END) AS Thu,'DY')='FRI' THEN Quantity ELSE NULL END) AS Fri,'DY')='SAT' THEN Quantity ELSE NULL END) AS Sat,'DY')='SUN' THEN Quantity ELSE NULL END) AS Sun,SUM(Quantity) AS TotalForWeek
FROM  ClientTrade
GROUP BY ClientName

猜你在找的Oracle相关文章