使用 MySQL 中的偏移量选择除顶行以外的所有行

selecting all rows except top row using offset in MySQL

如何使用偏移子句获取除第一行以外的所有行。我正在使用

这样的查询
SELECT * FROM EMPLOYEES ORDER BY SALARY OFFSET 1;

但这在 MySQL 中不起作用。我在这里做错了什么?

除了 OFFSET 之外,您还必须使用 LIMIT

SELECT * FROM EMPLOYEES ORDER BY SALARY LIMIT 9999 OFFSET 1;

遗憾的是,在 MySQL 中,OFFSET 只能与 LIMIT 子句一起使用。所以你需要使用

SELECT * FROM EMPLOYEES ORDER BY SALARY LIMIT 18446744073709551615 OFFSET 1;

SELECT * FROM EMPLOYEES ORDER BY SALARY LIMIT 1, 18446744073709551615;

我从different question

中选择了那个限制号码

MySQL 8.0 可以使用 window 函数来执行此操作:

SELECT * FROM (
  SELECT *, ROW_NUMBER() OVER (ORDER BY SALARY) AS rownum
  FROM EMPLOYEES
) AS t
WHERE rownum > 1
ORDER BY SALARY;