SQL查询可以找到没有人喜欢的'水果'

问题描述:

有人可以帮我找到没有人喜欢的'水果'吗?SQL查询可以找到没有人喜欢的'水果'

Fruit  LoveIt Name 
Apple  Y  John 
Apple  N  Mary 
Apple  Y  Stephen 
Pear   N  Lois 
Pear   N  Jo 
Pear   N  Fiona 

感谢,

+0

您能否帮助我们并告诉我们您尝试了什么,并解释具体哪些方面没有针对该解决方案? – csmckelvey

使用聚合:

select fruit 
from fruits 
group by fruit 
having count(case when LoveIt = 'Y' then 1 end) = 0; 

选择从标签X不同的水果,其中水果没有(选择标签的水果,其中爱它= 'Y')

我会试试这个: select fruit, loveit, count(*) from survey group by 1,2 having loveit = 'N' and count(*) = 0;

这是一个变体,不依赖于计数,但强调思维套(关系代数的风格,如果你愿意):果实没有人爱都是水果,但那些受人喜爱:

SELECT DISTINCT f.Fruit 
FROM fruits f 

EXCEPT 

SELECT f.Fruit 
FROM fruits f 
WHERE f.LoveIt = 'Y' 

EXCEPT是SQL的集差异运算符。