MySQL提供后从下一行开始选择下一个1000行

时间:2018-08-17 10:00:39

标签: mysql

我需要从没有提供自动递增字段的表的唯一字段之后的下一行开始选择接下来的1000行。

示例(为简单起见,限制为2行): 我有桌子颜色:

UID    | COLOR
---------------
15546  | Green
234534 | Blue
7435   | Yellow
8354   | Red
534654 | White
1053425| Black
1142352| Brown

,我需要选择UID为234534的行之后的下2行。因此,我需要选择UID为7435和8354的行。

伪代码:

select * from colors where UID is next after :UID order by UID limit 2

1 个答案:

答案 0 :(得分:0)

set @row_number=0;

CREATE TEMPORARY TABLE Temp_Colors (SELECT (@row_number:=@row_number + 1) AS num, UID, color FROM colors);
set @row_num = (Select num From Temp_Colors Where uid='8ad');
SELECT UID, color FROM Temp_Colors Where num > @row_num

您可以通过使用现有的数据创建临时表来实现这一点,方法是生成列row_number,然后在临时数据自动递增的情况下使用临时数据。