簡體   English   中英

MySQL選擇計數超過X

[英]mysql select where count more than x

如何創建一個MySQL查詢,該查詢要求同一查詢的總數超過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]]]");

希望能幫助...

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

要么

group by baz having count(*) > 5

您不清楚要什么。 但是,如果只希望所有行(符合條件),但行數等於或大於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 ;

如果希望僅在計數大於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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM