在一个唯一的表中,我有多行具有相同的参考信息 ( ID
)。对于相同的day
,客户有drink
并且Appreciation
是 1(是)或 0(否)。
Table
ID DAY Drink Appreciation
1 1 Coffee 1
1 1 Tea 0
1 1 Soda 1
2 1 Coffee 1
2 1 Tea 1
3 1 Coffee 0
3 1 Tea 0
3 1 Iced Tea 1
我首先尝试看看谁欣赏某种饮料,这显然很简单
Select ID, max(appreciation)
from table
where (day=1 and drink='coffee' and appreciation=1)
or (day=1 and drink='tea' and appreciation=1)
由于我什至对饮料都不感兴趣,所以我过去常常max
删除重复项,只保留评价最高的车道。
但我现在想做的是看看谁实际上欣赏他们所喝的每一杯。再说一次,我对最后的每条车道都不感兴趣,而只对ID和欣赏感兴趣。如何修改我where
的以在每个 ID 上完成?在条件中添加 ID 也不是选项。我尝试切换or
for and
,但它没有返回任何值。我怎么能这样做?