limit的使用

LIMIT 是 MySQL 中用于限制查询结果数量的子句,常用于分页或获取特定范围的数据。

# 示例 1:获取前 5 条记录

SELECT * FROM table_name LIMIT 5;
# 此语句从结果集中返回前 5 条记录,相当于 LIMIT 0, 5。

# 示例 2:跳过前 5 条记录,获取接下来的 10 条记录

SELECT * FROM table_name LIMIT 5, 10;
# 此语句从第 6 条记录开始(偏移量为 5),返回接下来的 10 条记录。

#示例 3:使用 OFFSET 指定偏移量

SELECT * FROM table_name LIMIT 10 OFFSET 5;

# 此语句等价于 LIMIT 5, 10,从第 6 条记录开始,返回 10 条记录。

# 注意事项

# 偏移量从 0 开始:LIMIT 的第一个参数表示偏移量,0 表示从第一条记录开始。

# 性能问题:当偏移量较大时(如分页到后几页),查询性能可能会下降。可以通过索引优化或子查询方式提升效率:

SELECT *
FROM table_name
WHERE id >= (SELECT id FROM table_name ORDER BY id LIMIT 10000, 1)
LIMIT 10;

# 总结

LIMIT n:返回前 n 条记录。

LIMIT m, n:跳过前 m 条记录,返回接下来的 n 条记录。

可结合 OFFSET 使用,但效果与 LIMIT m, n 相同。
select device_id
from user_profile
limit 0,2;