sql选择前10条记录

时间:2010-03-07 11:26:47

标签: mysql sql pagination

我有下表(点):

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

我需要的是只显示带点(desc)的前十个记录和每页五个记录。我遵循了SQL语句:

    select * from points where uid in(a,c) order by uid LIMIT 1, 5

由于

2 个答案:

答案 0 :(得分:5)

第一页:

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

第二页:

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

答案 1 :(得分:0)

您无法执行SQL查询以返回一定数量的页面,您必须实现某种分页模块或与您所处方案相同的任何等效模块,并获取LIMIT 0, 5一个然后LIMIT 5, 5为另一个。

只有这么少的记录就不会出现问题,但是在生产规模环境中选择所有记录然后将这些结果分解为页面会产生很多不必要的开销,最好只选择所需的数据。 / p>

相关问题