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