MySQL选择*其中NUM_ROW> X

时间:2018-01-29 05:43:29

标签: mysql

我有桌面客户

+------+------+------------+
|  id  | name | company_id |
+------+------+------------+
|  1   | Test |     1      |
+------+------+------------+

当我想选择(例如)前30个客户时,一切都好。

SELECT
  id,
  name
FROM client
WHERE company_id = 1
LIMIT  30;

但我现在不选择第二个30,第三个30。 我的解决方法:

SET @row_num=0
SELECT
  @row_num:=@row_num+1 AS row_number,
  id,
  name
FROM client
WHERE company_id = 1
AND row_number = 20;
LIMIT  30;

有错误:'where子句'中的未知列'row_number'。 怎么解决?

1 个答案:

答案 0 :(得分:3)

查看LIMIT OFFSET syntax

  

如果我们想选择16 - 25(含)的记录怎么办?

     

Mysql还提供了一种处理方法:使用OFFSET。

     

下面的SQL查询说“只返回10条记录,从记录16开始   (OFFSET 15)“:
   $sql = "SELECT * FROM Orders LIMIT 10 OFFSET 15";