多个聚合查询作为一行

时间:2012-04-25 07:46:52

标签: sql postgresql

是否可以执行多个查询,每个查询返回一个COUNT(*)并将它们全部放在一行中。

目前我只能使用返回多行的联合来执行此操作。

这是我正在做的一个例子:

    SELECT COUNT(*) AS QuotesCreatedCount, 0 AS QuotesReferredCount

    FROM table1

    WHERE column1 = value 1    

    UNION ALL

    SELECT 0, COUNT(*) 

    FROM table2

    WHERE column1 = value1

1 个答案:

答案 0 :(得分:2)

您可以使用子查询:

select (select count(*)
          from table1
         where column1 = value1) QuotesCreatedCount,
       (select count(*)
          from table2
         where column1 = value1) QuotesReferredCount