查询以使用 order by 子句获取下一条记录

Query to Fetch next record with order by clause

我正在研究 mysql。我正在从 table 中获取记录列表,并从中获取其中一条记录的详细信息。现在我想获取该列表的下一条记录。

我有以下查询

select * from table_name where column3 like %z% order by column2;

该查询的结果

column1 | column2 | column3
10      | abc1    | zzzz
2       | abc2    | zsdazz
20      | abc3    | sddszz

我有 select 列 1 值为 2 的记录。现在我想要一个可以获取下一条记录的查询,在本例中,列 1 为 20 的记录。

注意:我在 table 中有数千条记录,用户可以 select 任意一条记录,然后转到下一条记录。

谢谢。

您可以添加 where 子句和子查询:

select *
from table_name
where column3 like '%z%' and
      column2 > (select column2
                 from table_name
                 where column1 = 2 and column3 like '%z%'
                )
order by column2;

注意:如果 column1 是唯一的,则不需要像 '%z%' 这样的 `column3。

使用LIMIT子句

试试这个:

SELECT * 
FROM table_name 
WHERE column3 LIKE %z% 
ORDER BY column2 LIMIT 2, 1;