簡體   English   中英

sql選擇前10條記錄

[英]sql to select top 10 records

我有下表(點):

    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

謝謝

對於第一頁:

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

對於第二頁:

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

你不能執行一個SQL查詢來返回一定數量的頁面,你必須實現某種分頁模塊或者你所使用的場景的等價物,然后獲取LIMIT 0, 5然后獲取LIMIT 5, 5為另一個。

如此少的記錄就不會成為問題,但是在生產規模環境中選擇所有記錄然后將這些結果分解為頁面會產生很多不必要的開銷,最好只選擇所需的數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM