SQL仅选择不是SINGLE重复的数据

时间:2013-12-30 09:35:29

标签: sql select

我希望你能帮助我更多时间;-) 不知道它是否可能,但我有这个名为GAMES的表:

NAME     MEMBERS
soccer   tina
soccer   tina
soccer   dirk
soccer   dirk
skate    john
skate    john

你可以看到有两个条目(没关系,我需要这样)。 我想输出NAME_COLUMN,它适用于:

SELECT name 
FROM   games 

- >输出“足球,滑冰”

现在我只需要来自双重条目不相等的列的名称(如滑冰)但希望名称(足球)也等于(但不仅仅是等于)。是否有人这样工作:

SELECT name 
FROM   games 
WHERE  Count(DISTINCT members > 1) 

当我和DISTINCT一起计算时,成员我得到了正确的结果(2个用于足球,1个用于滑冰)

或者可能是这样的:

SELECT name 
FROM   games 
WHERE  "not all entries same" 

我想要的结果只是“足球”

我希望你理解;-) *它只是一个虚拟表,可以理解我在桌面编程中真正的解决方案

3 个答案:

答案 0 :(得分:6)

Group by Name并使用having来计算群组成员

Select NAME 
from GAMES 
group by NAME
having count(DISTINCT MEMBERS) > 1

答案 1 :(得分:1)

不,以下语句在sql中是错误的; where count(DISTINCT MEMBERS > 1)

您应该使用 HAVING 语句,而不使用任何 WHERE ;

Select   NAME 
from     GAMES 
group by NAME
having count(DISTINCT (MEMBERS) > 1)

答案 2 :(得分:1)

GROUP BY语句与聚合函数结合使用,可以按一列或多列对结果集进行分组。

Select NAME 
from GAMES 
group by NAME
having count(DISTINCT MEMBERS) > 1