将水平表转换为垂直Postgres

时间:2017-08-08 08:32:34

标签: sql postgresql

任何人都可以提供建议,因为这是否可以在postgresql中使用。

我有这样的查询:

SELECT a.count as "A", b.count as "B" FROM
(SELECT count(*) FROM a) as a,
(SELECT COUNT(*) FROM b) as b;

这给我一个如下结果:

A    |    B
-----------
100  |  300

是否可以将其转换为显示如下:

Type   |   Count
----------------
A      |   100
B      |   300

任何建议都很棒。

1 个答案:

答案 0 :(得分:1)

查看UNION/UNION ALL关键字:

SELECT 'A', count(*) 
FROM a
UNION ALL 
SELECT 'B', COUNT(*) 
FROM b;