2011-04-23 48 views
5

我應該使用哪種MySQL查詢來重複X次重複的行?MySQL:如何將行重複x次

例(愚蠢的一個^^):

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

我想僅僅返回水果由3人(在我的例子蘋果)喜歡的查詢。 乾杯!

+0

我非常想知道這一個 - 我只有黑客,我想看到一個真實的答案。 – Malvolio 2011-04-23 16:24:17

+2

您的意思是「僅重複X次的行?」 – 2011-04-23 16:24:29

+1

請給我們一個你認爲重複行的例子嗎? – elitalon 2011-04-23 16:24:58

回答

2

我想僅僅返回查詢種水果由3人(蘋果在我 例子)喜歡

試試這個:

SELECT fruit_name FROM `table` group by fruit_name having count(fruit_name)>=3; 
+0

偉大的哈里歡樂,這裏是一個人幫助!謝謝,你解決了它! – 2011-04-23 16:45:57

+0

@Nadj:你總是受到歡迎。但是下次請以正確和明確的描述提問。 – 2011-04-23 16:46:44

+0

好吧,哈利,我會的,謝謝。 – 2011-04-23 16:49:28

0

如果你想算一列的每一行重複:

select count(*), column1 from table group by 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 
2

如果「地址」是由您定義,如果兩行是相同的列,然後:

select address, count(address) as cnt from mailing_list group by address having cnt = $x order by cnt;