Postgresql中子查询中的列的总和

时间:2016-06-09 04:12:00

标签: postgresql group-by sum subquery

我有一个Postgresql表,其中我有2个字段,即ID和Name,即SQLFiddle中的column1和column2。我为特定ID设置的默认record_count为1.我想获取第1列的record_count,并将第1列的record_count相加。 我尝试使用此查询但不知何故显示出一些错误。

select sum(column_record)  group by column_record ,
* from (select column1,1::int4 as column_record from test) a

还可以在下面的Excel格式中找到输入/输出屏幕截图:

enter image description here

同样的SQL小提琴:

http://sqlfiddle.com/#!15/12fe9/1

1 个答案:

答案 0 :(得分:0)

如果您正在使用窗口功能(您可能希望使用正常的分组,这很多"更快,更高效),这就是这样做的方法:

-- create temp table test as (select * from (values ('a', 'b'), ('c', 'd')) a(column1, column2));
select sum(column_record) over (partition by column_record),
* from (select column1, 1::int4 as column_record from test) a;