Postgresql 我们可以将COUNT作为一列添加到结果集中吗?
我有一个大的查询,它有不同的结果数据 我想知道是否可以添加一个计数列来计算总结果计数并显示为一列 假设我有下面我的大查询的结果Postgresql 我们可以将COUNT作为一列添加到结果集中吗?,postgresql,Postgresql,我有一个大的查询,它有不同的结果数据 我想知道是否可以添加一个计数列来计算总结果计数并显示为一列 假设我有下面我的大查询的结果 colu 12_0|ppi|u event|u id|colu 1_0|colu 11_0|colu 13_0|colu 14_0|colu 15_0|colu 17| ---------|------------|-------|---------|---------|---------|---------|--------| 27981 | 3249 | 1490
colu 12_0|ppi|u event|u id|colu 1_0|colu 11_0|colu 13_0|colu 14_0|colu 15_0|colu 17|
---------|------------|-------|---------|---------|---------|---------|--------|
27981 | 3249 | 149056 |在|持续|真实|亚洲| 0 |
27989 | 3249 | 149060 |毛皮|持续|假|亚洲| 1 |
预期结果如下。在末尾添加了计数列,其中包含总计记录
如果我总共有10000条记录,那么count在每列前面显示10000条
colu 12_0|ppi|u event|u id|colu 1_0|colu 13_0|colu 14_0|colu 15_0|colu 17_0|计数|
---------|------------|-------|---------|---------|---------|---------|--------|
27981 | 3249 | 149056 |持续|真实|亚洲| 0 | 2|
27989 | 3249 | 149060 |进行中|错误|亚洲| 1 | 2|
是,使用count(*)over()
作为表达式。一个小例子:
testdb=# with fake_data as (
select 'foo' as col1, 'bar' as col2 union all
select 'foo', 'baz')
select *, count(*) over () AS total_rows_returned from fake_data;
col1 | col2 | total_rows_returned
------+------+---------------------
foo | bar | 2
foo | baz | 2
(2 rows)
是,使用count(*)over()
作为表达式。一个小例子:
testdb=# with fake_data as (
select 'foo' as col1, 'bar' as col2 union all
select 'foo', 'baz')
select *, count(*) over () AS total_rows_returned from fake_data;
col1 | col2 | total_rows_returned
------+------+---------------------
foo | bar | 2
foo | baz | 2
(2 rows)