使用sql查询修改表内容

时间:2014-03-29 15:38:06

标签: sql plsql

我有一个像这样的数据库表:

------------------------------------
--Col1---Col2---Col3---Col4---Col5--
|  A   |  B   |   C  |  D   |  -10  | 
|  A   |  B   |   C  |  D   |  -10  |
|  A   |  B   |   C  |  D   |  30   |
|  D   |  F   |   C  |  D   |  400  |
|  X   |  F   |   C  |  D   |  250  |
|  A   |  B   |   C  |  D   |  75   | 

我想将此表格转换为以下格式:

------------------------------------
--Col1---Col2---Col3---Col4---Col5--
|  A   |  B   |   C  |  D   |  85   | 
|  D   |  F   |   C  |  D   |  400  |
|  X   |  F   |   C  |  D   |  250  |

如您所见,Col5值是重复的Col1,Col2,Col3,Col4值的总和。我怎么能用sql查询或pl / sql脚本呢?

1 个答案:

答案 0 :(得分:4)

试试这个:

SELECT Col1,Col2,Col3,Col4,SUM(Col5) as Col5
FROM TableName
GROUP BY Col1,Col2,Col3,Col4

由于SUM是一个聚合函数,因此您需要GROUP BY所有其他选定的值。

结果:

COL1    COL2    COL3    COL4    COL5
A       B       C       D       85
D       F       C       D       400
X       F       C       D       250

请参阅SQL Fiddle中的结果。

详细了解SUM here