0

我有这个声明:

SELECT CASE
          WHEN teile LIKE 'S%' THEN
           'vent'
          ELSE
           teile
       END AS teile,
       SUM(amount) 
.
 GROUP BY bereich, teile

结果是这样的

D1    10070
ER    6278
MO    6278
vent  20140
vent  20140
vent  20140

现在我想总结每个“发泄”的数量,并再次将其分组到“发泄”,如下所示:

D1   10070     
ER   6278     
MO   6278
vent 60420

用不同的东西试了好几次,但我就是不明白..

4

2 回答 2

4

另外的另一种方式:

SELECT teile, SUM(amount) AS total_amt FROM
(
 SELECT (CASE WHEN teile LIKE 'S%' THEN 'vent' ELSE teile END) AS teile
       , amount 
FROM your_table
)
GROUP BY teile
/
于 2013-04-19T12:32:30.930 回答
1

将子句中的CASE表达式SELECT放在您的GROUP BY子句中:

SELECT CASE
          WHEN teile LIKE 'S%' THEN
           'vent'
          ELSE
           teile
       END AS teile,
       SUM(amount) 
...
 GROUP BY 
       CASE
          WHEN teile LIKE 'S%' THEN
           'vent'
          ELSE
           teile
       END;
于 2013-04-19T11:58:01.390 回答