Sql 选择ID重复但另一列中的值不同的行

Sql 选择ID重复但另一列中的值不同的行,sql,sql-server,Sql,Sql Server,我有一张这样的桌子: 我想能够做的是返回ID以及ID与多少种不同类型的水果相关,而不是像这样返回1种: 有人能帮我吗?我觉得不应该那么难,但我运气不太好 谢谢 给你: select id, count (id) from yourtable group by id; 我想您希望包含子句和计数(独立): COUNT()和GROUP BY IDHi,这和我要找的很接近,但不完全一样。我希望它返回ID和不同水果的数量。例如,在我的表中,ID1有两个不同的水果,ID2有一个不同的水果,ID3有三个

我有一张这样的桌子:

我想能够做的是返回ID以及ID与多少种不同类型的水果相关,而不是像这样返回1种:

有人能帮我吗?我觉得不应该那么难,但我运气不太好

谢谢

给你:

select id, count (id)
from yourtable
group by id;

我想您希望
包含
子句和
计数(独立)


COUNT()
GROUP BY ID
Hi,这和我要找的很接近,但不完全一样。我希望它返回ID和不同水果的数量。例如,在我的表中,ID1有两个不同的水果,ID2有一个不同的水果,ID3有三个不同的水果。谢谢@Alfredalegria所需的输出没有显示这一点。
select id, count(distinct fruit) as numfruit
from t
group by id
having count(distinct fruit) > 1;