[英]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.