如何使用动态LIMIT编写SQL查询

Wil*_*_He 5 mysql sql limit

SELECT * FROM user LIMIT (SELECT group_limit FROM groups WHERE groupid = 7471);

Ste*_*ert 8

这来自MySQL数据库知识库:

LIMIT子句可用于约束SELECT语句返回的行数.LIMIT需要一个或两个数字参数,它们都必须是非负整数常量(使用预准备语句时除外).

要使查询起作用,您需要将其编写为预准备语句,然后执行该操作.

SET @a = (SELECT group_limit FROM groups WHERE groupid = 7471);

PREPARE STMT FROM 'SELECT * FROM user LIMIT ?';
EXECUTE STMT USING @a;
Run Code Online (Sandbox Code Playgroud)