SELECT与OFFSET一起使用

时间:2018-05-21 12:13:16

标签: mysql mysql-error-1064

select FIELD
from TABLE
order by FIELD
LIMIT 1
OFFSET (select ceil(count(*)/2) from TABLE);

我收到错误。 是否可以以这种方式使用第二选择语句,因为它只返回一个数字。如果没有,为什么?

1 个答案:

答案 0 :(得分:4)

你需要使用这个动态MySQL。

SET @OFFSET = "( SELECT CEIL(COUNT(*) / 2) FROM test )";

SET @SQL = "
 SELECT 
  a
 FROM 
  test
 ORDER BY a
 LIMIT 1
 OFFSET ?
";

PREPARE dynamic FROM @SQL;
EXECUTE dynamic USING @OFFSET;