移植到 MySQL-top n 问题

作者:vkvi 来源:ITPOW(原创) 日期:2009-12-18

查询 Access、SQL Server 时有形如:select top 5 * from tbl order by id desc 一类的语句。

但这样的 SQL 语句放在 MySQL 中就不行了,原因是 top 5 出错了。

MySQL 中用 limit。

select *
from tbl
order by id desc
limit 0, 5

limit 后面跟两个数字:

  • 第一个数字表示从哪条记录开始取(第一条记录用 0 表示,第二条记录用 1 表示……);
  • 第二个数字表示取几条记录。

这个东西分页还很方便。

比如每页有 20 条记录,要取第 3 页的记录:

select *
from tbl
order by id desc
limit 40, 20

利用 QueryString 来控制页次。

limit 第一个参数的值 = (CLng(Request.QueryString("page"))-1) * 20
相关文章