我正在尝试在PostgreSQL(8.4+)中使用所谓的“反向计数”。我希望输出的行数与每个字母在“总计”列中指定的行数完全相同。。。
表1:
letter | total
-------------
a | 3
b | 2
c | 4
d | 1
预期的表输出:
letter
-----
a
a
a
b
b
c
c
c
c
d
我不确定是否以及如何使用这里最不必要的功能。。。。
最佳答案
是的-不需要是你想要的(当然,一旦你有了一个数组)
richardh=> SELECT array_fill(letter, ARRAY[total]) FROM expand;
array_fill
------------
{a,a,a}
{b,b}
{c,c,c,c}
{d}
(4 rows)
richardh=> SELECT unnest(array_fill(letter, ARRAY[total])) FROM expand;
unnest
--------
a
a
a
b
b
c
c
c
c
d
(10 rows)
关于postgresql - Postgres“反向计数(*)”(嵌套?),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14507198/