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

时间:2011-05-09 08:19:42

标签: mysql sql limit

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

1 个答案:

答案 0 :(得分:8)

这来自MySQL Database Knowledge base

  

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

要使查询正常工作,您需要将其编写为预处理语句,然后执行该操作。

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

PREPARE STMT FROM 'SELECT * FROM user LIMIT ?';
EXECUTE STMT USING @a;