2014-02-11 60 views
13

我想計算在PostgreSQL數據庫的2個獨立表上執行的2 count(*)-type SELECT查詢的結果之間的差異。根據PostgreSQL中的2個表計算兩個count(*)查詢的結果之間的差異

這我目前使用的(但我應該能夠這一切包裝成一個單一的SELECT語句)什麼:

SELECT "count"(*) AS val1 FROM tab1; 
SELECT "count"(*) AS val2 FROM tab2; 
SELECT val2-val1; 

在此先感謝

+0

一個簡單的解決方案是選擇(計數(CITY)-count(不同(市)))從站; –

回答

25

試試這個方法:

select 
(SELECT "count"(*) as val1 from tab1) - (SELECT "count"(*) as val2 from tab2) as total_count 
4
select t1.cnt - t2.cnt 
from (select count(*) as cnt from tab1) as t1 
    cross join (select count(*) as cnt from tab2) as t2 
+0

有人知道如何在Redshift中執行此操作嗎?上述代碼不受支持:[0A000] [500310] [Amazon](500310)操作無效:此類型的相關子查詢模式尚不受支持; java.lang.RuntimeException:com.amazon.support.exceptions.ErrorException:[Amazon](500310)操作無效:此類型的相關子查詢模式尚不受支持; – nicola

相關問題