我有桌面客户
+------+------+------------+
| 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'。 怎么解决?
答案 0 :(得分:3)
查看LIMIT OFFSET
syntax
如果我们想选择16 - 25(含)的记录怎么办?
Mysql还提供了一种处理方法:使用OFFSET。
下面的SQL查询说“只返回10条记录,从记录16开始 (OFFSET 15)“:
$sql = "SELECT * FROM Orders LIMIT 10 OFFSET 15";