[英]MySQL Select * Where NUM_ROW > X
I have table clients 我有桌客
+------+------+------------+
| id | name | company_id |
+------+------+------------+
| 1 | Test | 1 |
+------+------+------------+
When I want to select (for example) first 30 clients it all all right. 当我想选择(例如)前30个客户端时,一切正常。
SELECT
id,
name
FROM client
WHERE company_id = 1
LIMIT 30;
But I don't now to select second 30, third 30. My way to solve: 但是我现在不选择第二个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;
There is errror: Unknown column 'row_number' in 'where clause'. 有一个错误:'where子句'中的未知列'row_number'。 How to solve it?
怎么解决呢?
Look at the LIMIT OFFSET
syntax 查看
LIMIT OFFSET
语法
What if we want to select records 16 - 25 (inclusive)?
如果我们想选择记录16-25(含)怎么办?
Mysql also provides a way to handle this: by using OFFSET.
Mysql还提供了一种解决方法:使用OFFSET。
The SQL query below says "return only 10 records, start on record 16 (OFFSET 15)":
下面的SQL查询显示“仅返回10条记录,从记录16开始(偏移15)”:
$sql = "SELECT * FROM Orders LIMIT 10 OFFSET 15";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.