【发布时间】:2016-04-01 09:46:51
【问题描述】:
我在 postgresql 中有一个有趣的问题。
select sum(value1) as v1,
sum(value2) as v2,
sum(value3) as v3,
sum(value4) as v4,
sum(value5) as v5,
...
from (select * from test limit 0)x;
结果:
v1 | v2 | v3 | v4 | v5 | ...
-----+-----+-----+-----+-----+--...
| | | | | ...
(1 row)
预期:(0 行)。
真相:(1 行)。
我不想得到空行。 我怎样才能得到这个案例的正确结果。 谢谢。
【问题讨论】:
-
查询将总是返回一个空行,因为
limit 0表示“根本没有行”。所以如果你不想要那个,那你为什么要使用limit 0呢?查询没有意义 -
我的意思是我的查询结果使用 sum 有一些空行。上面的查询是重现这个问题的一个案例,我们确定这里没有什么可以总结的。
-
上述查询的预期是 0 行,而不是 1 行。
标签: postgresql-9.3