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

时间:2015-01-16 12:02:57

标签: mysql sql select sql-order-by

我正在研究mysql。我从表中获取记录列表,然后我将详细介绍其中一条记录。现在我想获取该列表的下一条记录。

我有以下查询

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

该查询的结果

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

我选择了包含column1值2的记录。现在我想要一个可以获取下一条记录的查询,在这种情况下,将column1作为20的记录。

注意:我在表格中有数千条记录,用户可以选择任何记录,然后转到下一条记录。

感谢。

2 个答案:

答案 0 :(得分:3)

您可以添加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是唯一的,那么`column3就像'%z%'没有必要。

答案 1 :(得分:0)

使用LIMIT子句

试试这个:

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