当前位置: 代码迷 >> Oracle管理 >> 大神~ oracle 按半年统计有关问题
  详细解决方案

大神~ oracle 按半年统计有关问题

热度:628   发布时间:2016-04-24 04:09:39.0
求助大神~ oracle 按半年统计问题
现有有个表  有datetime字段,有ID,现在要求统计出每年的上半年数据和下半年数据 
显示格式要求像这样 


             2013年      2014年
上半年       29           40
下半年       30           45
合计          59           85
------解决思路----------------------
行转列 sum(decode())
这个只是稍微复杂点而已
WITH T AS (
SELECT case when to_char(datetime,'mm')<='06' then '上半年' else '下半年' end AS A,TO_CHAR(DATETIME,'YYYY') B
FROM TABLE1
)
SELECT NVL(A,'合计'),
SUM(DECODE(B,'2013',1)) AS "2013年",
SUM(DECODE(B,'2014',1)) AS "2014年"
FROM T
GROUP BY ROLLUP(A)
  相关解决方案