抱歉,如果已经有答案,我在任何地方都找不到!
我想创建一个 SQL 查询(在 Oracle 中)显示所有 A、B、C 行的列表,如下例所示,其中 D 的计数超过 1 个,包括 Null。
假设我有 5 列:
A B C D E
1 1 100 A 1
1 1 100 2
1 1 200 A 3
1 1 200 1
2 2 100 A 2
2 2 100 3
2 2 100 B 1
2 2 100 C 2
空格为空。
我想要返回以下结果,完全忽略 E:
A B C count
1 1 100 2
1 1 200 2
2 2 100 4
我目前遇到的问题是,如果我使用以下查询,它不会计算空值:
SELECT A, B, C, count(D)
FROM <TABLE>
GROUP BY A, B, C HAVING COUNT(D) > 1
我知道 count(*) 确实考虑了空值,但我的表中有其他列我不想包含在我的查询中。