我有GROUP BY的SQL查询。 我想只选择在其他列中只有Null的组。
Select HH, TT from TABLE join TABLE... where XX GROUP BY HH
HH | TT
1 | Null
2 | Null
2 | Test
3 | Null
3 | Null
我想只有那些:
HH | TT
1 | Null
3 | Null
我在甲骨文。
答案 0 :(得分:0)
可以使用group by
和having
来完成此操作。列TT的计数应返回0(因为count
忽略空值)。
select HH,max(TT) as TT
from tbl
group by HH
having count(TT)=0
答案 1 :(得分:0)
nvl2
是一个很好的功能,它可以帮助我们同时处理null
和not null
值:
select hh, 'Null' tt
from mytable
group by hh
having sum(nvl2(tt,1,0))=0;