如您所知,Oracle将NULL视为GROUP BY查询中的一个“值”。是否有一种变通方法来对数据分组,将NULL分别视为不同的值。例如:
药片:
colA colB
A 1
A 5
<null> 3
<null> 2
select colA, min(colB) from t group by colA
返回:colA colB
A 1
<null> 2
但我想查询返回:
colA colB
A 1
<null> 3
<null> 2
提前致谢
最佳答案
SELECT colA, MIN(colB)
FROM t
WHERE colA IS NOT NULL
GROUP BY colA
UNION ALL
SELECT colA, colB
FROM t
WHERE colA IS NULL
关于sql - 按可为空的列分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13566117/