MySQL的 - 按百分比限制?(Mysql - LIMIT by Percentage?)

2019-07-02 17:38发布

说我在选择查询定义别名“计数”,我要限制量恢复到数/ 5(表或20%)。

我怎样才能做到这一点? MySQL的似乎并没有采取任何东西,但整数,而不是功能。

Answer 1:

正确。 该LIMIT子句需要一个偏移量和行数,不是百分比。 你在想的Microsoft SQL Server,它支持的SELECT TOP 20 PERCENT ... (注意,没有LIMITTOP标准SQL指定)。

我会在两个查询做到这一点:

SELECT COUNT(*) FROM MyTable WHERE ...conditions...

SELECT * FROM MyTable WHERE ...conditions... ORDER BY ...order... LIMIT ?

更换参数? 与计数/ 5。

你不必在一个单一的查询解决所有的问题。



Answer 2:

在LIMIT子句需要两个参数,并且必须是整数常量。

你可以尝试这样的事情

SET @skip=1; SET @numrows=(select count(*) div 5 from tbl );
PREPARE STMT FROM 'SELECT * FROM tbl LIMIT ?, ?';
EXECUTE STMT USING @skip, @numrows;


Answer 3:

看看MySQL存储例程(过程/函数)
http://dev.mysql.com/doc/refman/5.1/en/create-procedure.html



文章来源: Mysql - LIMIT by Percentage?
标签: mysql sql limit