问题描述
我一直在尝试动态"定义查询的偏移量.
I have been trying to define "dynamically" the offset of a query.
但是执行此查询时,我总是以You have an error in your SQL syntax;
But when executing this query I always end up with a You have an error in your SQL syntax;
当我用数字替换子查询时,它确实可以正常工作.具有这种形状的查询中有问题吗?
When I do remplace the subquery by a number it does work fine. Is there something wrong in a query that has this shape?
SELECT LengthOfStay
FROM table1
LIMIT (SELECT CAST(COUNT(DISTINCT(LengthOfStay)) / 2 AS SIGNED) FROM table1 t1), 2;
Ps.我对其进行了强制转换,以确保它是整数.
Ps. I casted it so I can make sure it's an integer.
推荐答案
不能将子查询用作LIMIT
参数.限制参数应为INTEGER
.基本上,您的子查询返回了一个表.
You can not use a subquery as a LIMIT
argument. Limit argument should be an INTEGER
. Your subquery returns, well... basically, a table.
无论如何,此查询试图实现什么?这个查询对我来说没有任何意义...
What are trying to achieve by this query anyway? This query does not make any sense to me...
这篇关于如何使用子查询定义Mysql SELECT LIMIT偏移量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!