Sql server 选择多次出现的不同行数据
我有这张桌子 visitID visitRel visitorIDSql server 选择多次出现的不同行数据,sql-server,Sql Server,我有这张桌子 visitID visitRel visitorID 1014 2114 3015 4016 5117 6017 我只想选择只有一个值为0的visitorID,而不是既有0又有1的visitorID,就像visitorID 14和17一样。只需将它们相加: create table #t (visitID int, visitRel int, visitorID int) insert #t values (1, 0, 14), (
1014
2114
3015
4016
5117
6017
我只想选择只有一个值为0的visitorID,而不是既有0又有1的visitorID,就像visitorID 14和17一样。只需将它们相加:
create table #t (visitID int, visitRel int, visitorID int)
insert #t values
(1, 0, 14),
(2, 1, 14),
(3, 0, 15),
(4, 0, 16),
(5, 1, 17),
(6, 0, 17)
select visitorid
from #t
group by visitorid
having sum(visitrel)=0
您需要在visitRel上使用having子句和distinct。谢谢您的提问,我只需要VisitorsID,它只有一个0出现,但不是同时出现0和1。如果visitRel允许mroe大于0,1(例如2),会发生什么情况?@xQbert为什么会有关系?op只对“只有0”的访问者感兴趣。这就是为什么你投了反对票?:)@xQbert您正在思考的是,值仅为1和0。请使用新的模式和示例数据编辑问题,或者打开一个新问题。@Dean请尝试使用sum(visitrel)=1。它选择17和14。我缺少什么吗