将查询结果分组为1行

时间:2017-02-09 03:57:20

标签: sql oracle group-by

Group | Count 1 | Count 2 | Count 3
-----------------------------------
Grp 1 | (null)  |    54   |  (null)
Grp 1 | (null)  |  (null) |    52
Grp 1 |   55    |  (null) |  (null)
Grp 2 |   62    |  (null) |  (null)
Grp 2 | (null)  |    56   |  (null)
Grp 2 | (null)  |  (null) |    32

这是我的查询结果当前的样子,如何对它们进行分组,以便每个“Grp”只有这样的一行。

Group | Count 1 | Count 2 | Count 3
-----------------------------------
Grp 1 |   55    |    54   |    52
Grp 2 |   62    |    56   |    32

1 个答案:

答案 0 :(得分:2)

GROUP BY与聚合功能结合使用,例如SUM(或MAX根据需要):

select
    "Group"
    sum(Count_1) count_1,
    sum(Count_2) count_2,
    sum(Count_3) count_3
from your_table
group by "Group";

另外,尽量不要使用GROUP等保留关键字作为表格或列标识符。