MySQL中如何实现Top N及M至N段的记录查询?


** 在 ** ** MySQL ** ** 中,如何实现 ** ** Top N ** ** 及 ** ** M ** ** 至 ** ** N ** ** 段的记录查询? ** ** **


我们可以利用 MySQL 中 SELECT 支持的一个子句—— LIMIT ——来完成这项功能。

LIMIT 可以实现 top N 查询,也可以实现 ** M ** ** 至 ** ** N ** ** ( ** 某一段)的记录查询,具体语法如下:

SELECT * FROM MYTABLE
ORDER BY AFIELD

LIMIT offset, recnum
其中 offset 为从第几条( ** M+1 ** ** ) ** 记录开始, recnum 为返回的记录条数。例:

select * from mytable
order by afield

limit 2, 5

即意为从第 3 条记录开始的 5 条记录。

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus