Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql在提供后从下一行开始选择下1000行_Mysql - Fatal编程技术网

Mysql在提供后从下一行开始选择下1000行

Mysql在提供后从下一行开始选择下1000行,mysql,Mysql,我需要从为不带自动增量字段的表提供唯一字段后的下一行开始选择下一个1000行 示例(为简单起见,限制为2行): 我有桌子的颜色: UID | COLOR --------------- 15546 | Green 234534 | Blue 7435 | Yellow 8354 | Red 534654 | White 1053425| Black 1142352| Brown 我需要在UID为234534的行之后选择下两行。所以我需要选择UID为7435和8354的行 伪代码

我需要从为不带自动增量字段的表提供唯一字段后的下一行开始选择下一个1000行

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

UID    | COLOR
---------------
15546  | Green
234534 | Blue
7435   | Yellow
8354   | Red
534654 | White
1053425| Black
1142352| Brown
我需要在UID为234534的行之后选择下两行。所以我需要选择UID为7435和8354的行

伪代码:

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

您可以通过使用“从现有数据创建临时表”来实现这一点,方法是生成列row_number,然后可以使用临时数据,因为您有临时自动递增列。

以及哪列指示记录的顺序?除非有特定的机制来标识行的顺序,否则无法执行此操作。您是否有自动递增字段或类似字段?UID是唯一的字段,我使用它对行进行排序,但此字段不是MAX+1“我使用它对行进行排序”这是如何工作的?好吧,也许我使用了一个不好的示例,在实际情况中,
UID
是一个具有唯一索引的整数字段。我可以按那个字段订购
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