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)