本文介绍了如何使用子查询定义Mysql SELECT LIMIT偏移量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在尝试动态"定义查询的偏移量.

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偏移量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-28 18:45