SQL限制查询将搜索整个表,然后根据我们的参数限制结果,但我希望查询从一个特定的行号搜索到另一个行号。是否也可以限制搜索?
xxls0lw81#
根据您提供的注解中的其他详细信息,我假设表中有一列指定了您试图限制的“行号”。如果是这样,则在查询的WHERE子句中使用BETWEEN运算符。这将限制搜索仅包括指定范围内的行。
SELECT * FROM foo WHERE row_number BETWEEN x AND y;
ql3eal8s2#
例如:
WHERE Row_Number > 64
wa7juj8i3#
如果你在LIMIT row_count旁边使用DISTINCT,mysql会在找到row_count唯一的行后停止搜索,即使没有索引的列。所以你可以这样查询:SELECT DISTINCT * FROM foo OFFSET start_row_count LIMIT end_row_count然后,如果您认为有益的话,您甚至可以停止自己指定行号。
LIMIT row_count
DISTINCT
row_count
SELECT DISTINCT * FROM foo OFFSET start_row_count LIMIT end_row_count
3条答案
按热度按时间xxls0lw81#
根据您提供的注解中的其他详细信息,我假设表中有一列指定了您试图限制的“行号”。如果是这样,则在查询的WHERE子句中使用BETWEEN运算符。这将限制搜索仅包括指定范围内的行。
ql3eal8s2#
例如:
wa7juj8i3#
如果你在
LIMIT row_count
旁边使用DISTINCT
,mysql会在找到row_count
唯一的行后停止搜索,即使没有索引的列。所以你可以这样查询:
SELECT DISTINCT * FROM foo OFFSET start_row_count LIMIT end_row_count
然后,如果您认为有益的话,您甚至可以停止自己指定行号。