MySQL:如何获取重复 x 次的行

6

我应该使用哪个MySQL查询来获取只重复X次的行?

例如(愚蠢的例子^^):

John likes apples.
Dave likes apples.
Bough likes bananas.
Light likes apples.
Wiky likes bananas.

我希望得到一个查询,返回只被3个人所喜欢的水果(以苹果为例)。

谢谢!


我一直很想知道这个问题的答案——我只有一些hack方法,我想看到一个真正的答案。 - Michael Lorton
2
“just rows repeated X times” 是什么意思? - Harry Joy
1
请您能否给我们一个您认为是重复行的例子? - elitalon
你需要多少行,以及为什么要重复它们? - Dheer
是的,请给一个例子。问题不清楚。 - Will Martin
显示剩余2条评论
3个回答

3
我想要一个只返回被3个人喜欢的水果的查询结果(以我的例子为准是苹果)。
请尝试以下查询:
SELECT fruit_name FROM `table` group by fruit_name having count(fruit_name)>=3;

太好了,Harry Joy,有个人来帮忙了!谢谢,你解决了它! - Nadjib Mami
@Nadj:欢迎您随时提问。但下次请用清晰明确的描述来提问。 - Harry Joy

2
如果“address”是您用于定义2行是否相同的列,则:
select address, count(address) as cnt from mailing_list group by address having cnt = $x order by cnt;

0

如果您正在尝试计算列中每个重复行:

select count(*), column1 from table group by column

指定“column”为您想知道是否重复的列。如果您想查看是否重复了多个列,请用逗号分隔。
select count(*), column1, column2 from table group by column1,column2

编辑:

如果您想获取仅具有X重复的行:

select c, column1 from (select count(*) as c, column1 from table group by column1) where c = X

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接