2010-03-13 70 views
0

排名前50位的記錄我有以下的數據庫表名tbl_rec選擇SQL

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

我在這個表中約5000條記錄。

我想選擇前50個高分記錄。

我不能使用限制語句,因爲我已經使用分頁限制。

感謝

+0

我想我們需要知道您當前的查詢。分頁會直接影響「第一個」引用的記錄(是第一頁還是其他頁面?)。 – cmptrgeekken 2010-03-13 06:46:34

+0

你真的需要使用分頁才能顯示50條記錄嗎?通常所有這些頂部XX顯示在一個頁面上。 – 2010-03-13 07:07:30

回答

4

我想選擇第一個高50分的記錄。

然後:

SELECT tr.* 
    FROM TBL_REC tr 
ORDER BY tr.points DESC 
    LIMIT 50 

,因爲我已經使用限制呼叫我無法使用限制說明。

然後使用子查詢:

SELECT x.* 
    FROM (SELECT tr.* 
      FROM TBL_REC tr 
     ORDER BY tr.points DESC 
     LIMIT 50) x 
LIMIT a, b --for your pagation 
+0

想想這個問題多一點:) – 2010-03-13 07:19:25

1

我笨。一開始沒有把握。
分頁本身顯示頂部XX!

想要它pagitnated?好吧,根據您的意願訂購餐桌,並根據您的需要進行限制。然後分頁,直到達到50,然後停止。