2013-05-18 57 views
0

如何創建一個MySQL查詢,要求同一查詢的總計數超過x?mysql select其中count超過x

$result=mysql_query("select * from DB where BANANAS='1' and ORANGES='2' and [COUNT OF THIS QUERY IS MORE THAN 5]"); 

謝謝!

中號

編輯

更清晰......,什麼林尋找的是:

$result=mysql_query("select * from DB where BANANAS='1' and ORANGES='2' group by PINEAPPLES order by SUM(SUGAR) desc limit 1 and [[[COUNT OF PINEAPLES WHERE BANANAS='1' IS MORE THAN 5]]]"); 

希望幫助...

+0

[此查詢的數量超過5個]你的意思是這個 –

+0

你分組的是什麼? –

+0

你想要所有的行(符合標準),但只有他們是6或更多? –

回答

3

and (select count(*) from foo where bar) > 5

group by baz having count(*) > 5

0

目前還不清楚你問什麼。但是,只有當他們是6個或更多,如果你希望所有的行(即匹配的標準),但是,這裏有一種方法:

SELECT * 
FROM tableName   -- have you really named your table "DB"? 
WHERE bananas = 1 
    AND oranges = 2 
    AND (SELECT COUNT(*) 
     FROM tableName 
     WHERE bananas = 1 
      AND oranges = 2 
    ) > 5 ; 

和另:

SELECT * 
FROM tableName   -- have you really named your table "DB"? 
WHERE bananas = 1 
    AND oranges = 2 
    AND (SELECT 1 
     FROM tableName 
     WHERE bananas = 1 
      AND oranges = 2 
     LIMIT 1 OFFSET 5 
    ) IS NOT NULL ; 
0

如果你想選擇到只有在計數超過5時纔會發生,那麼以下查詢可能會有用。

select count(*) from DB as X where BANANAS='1' and ORANGES='2'; 

select * from DB where BANANAS='1' and ORANGES='2' IF (CAST(X as UNSIGNED) > 5); 
+0

謝謝。你如何將這些組合成一個查詢? –