SQL查询获取前10条记录

3

我有以下表格 (points):

    recno   uid   uname   points
    ============================
    1       a     abc      10
    2       b     bac      8
    3       c     cvb      12
    4       d     aty      13
    5       f     cyu      9
    -------------------------
    --------------------------

我需要展示按照分数(降序)排列的前十条记录,并且每页显示五条记录。以下是SQL语句:
    select * from points where uid in(a,c) order by uid LIMIT 1, 5

谢谢


1
我不明白...这是你想要的吗:select * from points order by points desct limit 5? - Aif
2个回答

5

对于第一页:

SELECT * FROM points p ORDER BY points DESC LIMIT 0, 5

对于第二页:
SELECT * FROM points p ORDER BY points DESC LIMIT 5, 5

0

你不能执行一个SQL查询来返回一定数量的页面,你需要实现一些分页模块或者等价物,然后获取LIMIT 0, 5LIMIT 5, 5

对于这么少的记录,这不是问题,但在生产环境中选择所有记录,然后将这些结果分成页面会有很多不必要的开销,最好只选择你需要的数据。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接