通过组合行

时间:2018-05-10 19:23:40

标签: sql oracle plsql

我有一张这样的表

ID | COUNTRY | AMOUNT
1  | USA     | 100
2  | USA     | 100
3  | USA     | 100
4  | FRA     | 100
5  | ITA     | 100
6  | ITA     | 100
7  | FRA     | 100

使用group by和组合某些值可以得到像这样的表吗?

ID | COUNTRY | AMOUNT
1  | USA     | 300
2  | EUR     | 400

1 个答案:

答案 0 :(得分:3)

group by条件

一起使用
select (case when country = 'USA' then 'USA' else 'EUR' end) COUNTRY,
        sum(AMOUNT) AMOUNT, MONTH 
from table t
group by (case when country = 'USA' then 'USA' else 'EUR' end), MONTH ;