首页 > 解决方案 > ROLLUP 函数的不同别名

问题描述

有没有办法只更改ROLLUP最后一行的函数名称?

我只想更改图片中突出显示的文本的名称。这意味着最后一个总数要写成“Total general”而不是“Total Judet”。

这是我得到的结果

SELECT 
  CASE WHEN (GROUPING(l.DenLoc) = 1) THEN 'Total Judet'
        When l.DenLoc is null then 'Total General' 
        Else l.DenLOc End  AS Localitate,
  l.Jud,
  COUNT(case when EXTRACT (month FROM DataContr)=01 AND EXTRACT (year FROM DataContr) =2016 then 1  end) AS Ianuarie,
  COUNT(case when EXTRACT (month FROM DataContr)=02 AND EXTRACT (year FROM DataContr) =2016 then 1 end) AS Februarie,
  COUNT(case when EXTRACT (month FROM DataContr)=03 AND EXTRACT (year FROM DataContr) =2016 then 1 end) AS Martie,
  COUNT(case when EXTRACT (month FROM DataContr)<4 AND EXTRACT (year FROM DataContr) =2016 then 1 end) AS Total_Trim_I
FROM Contraventii c
     INNER JOIN Localitati l ON c.IdLocContr=l.IdLoc
GROUP BY ROLLUP ( l.Jud, l.DenLoc)
ORDER BY l.Jud;

标签: sql

解决方案


我想你想要:

SELECT (CASE WHEN GROUPING(l.DenLoc) = 1 AND GROUPING(l.Jud) = 1
             THEN 'Your Name Here'
             WHEN GROUPING(l.DenLoc) = 1 THEN 'Total Judet'
             WHEN l.DenLoc is null then 'Total General' 
             ELSE l.DenLOc 
        END) AS Localitate,

推荐阅读