2017-04-22 205 views
0

我有一个像SQL查询来获取其不被列

User id Status 
XXX  Y 
XXX  N 
YYY  N 
ZZZ  Y 
ZZZ  Y 

表现在,我需要选择那些只出现一次在表中的状态值以及用户重复的值。所需的输出:

User id Status 
YYY  N 

我试着用

SELECT userid,status from table GROUP BY userid,status having count(userid)=1 

但它给作为

User id Status 
XXX  Y 
XXX  N 
YYY  N 

感谢

+0

我想是因为你还按状态分组中有部分是计算每个状态分别统计。所以基本上我说再次尝试你的查询没有'状态'在'你的'组' –

回答

1

您可以使用子查询:

SELECT userid,status from table where userid IN 
(SELECT userid from table GROUP BY userid having count(userid)=1); 
-1

在这里你去尝试这样的输出:

SELECT userid, status 
FROM table 
GROUP BY userid, status 
HAVING (COUNT(userid) = 1) 
+0

这是我发布的同一个查询? – lost111in

+0

()括号没有正确使用,你试过了吗? –

+0

是没有任何区别,相同的输出 – lost111in