说我在选择查询定义别名“计数”,我要限制量恢复到数/ 5(表或20%)。
我怎样才能做到这一点? MySQL的似乎并没有采取任何东西,但整数,而不是功能。
说我在选择查询定义别名“计数”,我要限制量恢复到数/ 5(表或20%)。
我怎样才能做到这一点? MySQL的似乎并没有采取任何东西,但整数,而不是功能。
正确。 该LIMIT
子句需要一个偏移量和行数,不是百分比。 你在想的Microsoft SQL Server,它支持的SELECT TOP 20 PERCENT ...
(注意,没有LIMIT
或TOP
标准SQL指定)。
我会在两个查询做到这一点:
SELECT COUNT(*) FROM MyTable WHERE ...conditions...
SELECT * FROM MyTable WHERE ...conditions... ORDER BY ...order... LIMIT ?
更换参数?
与计数/ 5。
你不必在一个单一的查询解决所有的问题。
在LIMIT子句需要两个参数,并且必须是整数常量。
你可以尝试这样的事情
SET @skip=1; SET @numrows=(select count(*) div 5 from tbl );
PREPARE STMT FROM 'SELECT * FROM tbl LIMIT ?, ?';
EXECUTE STMT USING @skip, @numrows;
看看MySQL存储例程(过程/函数)
http://dev.mysql.com/doc/refman/5.1/en/create-procedure.html