按组汇总以制作复合键

时间:2014-12-27 05:47:33

标签: sql postgresql sas proc-sql

我有一个详细的表格,如:

COMPANY  DATE  GROUP AMT
Sentana  12Dec  A    1200
Sentana  12Dec  B     800
Toyq     12Dec  A    1300
Toyq     12Dec  A     100
Sentana  12Dec  B     300
Toyq     13Dec  A     700
Sentana  12Dec  A     800

现在我想根据3列(COMPANY DATE GROUP)创建一个复合唯一键,所以输出如下:

COMPANY  DATE  GROUP AMT
Sentana  12Dec  A    2000
Sentana  12Dec  B    1100
Toyq     12Dec  A    1400
Toyq     13Dec  A     700

我使用了查询(SQL),如:     将表TEMP创建为     从表中选择DISTINCT COMPANY,DATE,GROUP,sum(AMT)     公司,日期,集团分组

Error: The AMT gets increased to many folds maybe 
because there are some more columns.

注意:我需要根据3列(COMPANY DATE GROUP)创建一个包含复合键的表,以便我可以将其与另一个表连接。我可以通过连接三个来创建复合键,但是由于重复组合在3列中,很难得到理想的结果。

1 个答案:

答案 0 :(得分:1)

尝试不使用distinct

select COMPANY, DATE, GROUP, sum(AMT) from table group by COMPANY, DATE, GROUP