簡體   English   中英

僅當行小於5時才使用MYSQL SELECT

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

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