3
group _id p_id version value
1 1 1 10
1 1 2 11
1 1 2 12
1 2 3 13
2 1 2 14
2 1 3 15
2 1 2 16
我想指望每個group_id有多少記錄以及每個group_id有多少個不同的p_id +版本。我已經Aapparently以下查詢
SELECT "group_id",count(*) , count(distinct "p_id","version")
FROM tbl
group by "group_id"
,這是行不通的,因爲Oracle會給我錯誤的COUNT
ORA-00909: invalid number of arguments
我知道這可以通過子查詢來完成。但是,有沒有簡單的方法來獲得相同的結果?表現的重要性對我來說很重要,因爲我們在表格中有超過5億條記錄。
你只是想要這個嗎? - http://sqlfiddle.com/#!4/c9217/9 – Taryn
子查詢不一定慢。 Oracle尤其擅長優化這些。 – GolezTrol
@bluefeet,我想在同一查詢結果中有CONT(*)和COUNT(DISTINCT)。 – EricZ