我有下表。
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 + 版本。我有以下查询
SELECT "group_id",count(*) , count(distinct "p_id","version")
FROM tbl
group by "group_id"
显然,它不起作用,因为 Oracle 会给我 COUNT 错误
ORA-00909: invalid number of arguments
我知道这可以通过子查询来完成。但是,有什么简单的方法可以获得相同的结果吗?考虑到性能对我来说很重要,因为表中有超过 5 亿条记录。