将 SELECT 与 OFFSET 结合使用

Use of SELECT with OFFSET

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

我遇到了一个错误。 是否可以以这种方式使用第二个 select 语句,因为它只会返回一个数字。 如果不能,为什么?

你需要动态 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;