Mik*_*ike 2 sql-server sql-server-2008
我有一个表(ID,CASENO,STATUS)有很多行,都有一个唯一的ID - CASENO有行分组 - 我想创建一个查询,向我显示所有CASENO值,其中包含所有行CASENO的状态相同
ID CASENO STATUS
1 123 X
2 123 Y
3 123 X
4 234 X
5 234 X
6 567 Z
7 567 Z
8 567 Z
9 789 A
10 789 B
Run Code Online (Sandbox Code Playgroud)
所以这将返回234和567,因为它们在STATUS中具有相同的值
select caseno
from my_table
group by caseno
having count(distinct status) = 1
Run Code Online (Sandbox Code Playgroud)
任何NULL旨意被隐忽略在聚集中,而不是导致骨料本身返回一个NULL即你count(distinct status)应该确定,即使你有NULL状态值.
更新:
要提供状态计数列表caseno,您可以这样做:
select caseno, status, count(*)
from my_table
group by caseno, status
-- include next line if you only want cases where the count is > 1
-- having count(*) > 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
73 次 |
| 最近记录: |