[英]MYSQL SELECT only if rows are less than 5
我有一個名為iv6_posts的表我只想在一個查詢中記錄小於5行時才選擇記錄
這樣的事情:
select IF((select count(*) from iv6_posts)<5,select * from iv6_posts,null)
使用plain WHERE
無法實現這一點,因為COUNT()
是一個組函數,你不能使用plain HAVING
因為它會將行分組為一個。
相反,您必須評估不同查詢中的總計數,並將其與例如CROSS JOIN
:
SELECT
iv6_posts.*
FROM
iv6_posts
CROSS JOIN
(
SELECT
COUNT(1) AS c
FROM
iv6_posts
) AS init
WHERE
c<5
檢查它的小提琴 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.