2013-06-18 177 views
0

我有表包含一些數據,只是我想顯示該表中的前10名和最後一列我想顯示用戶的排名誰登錄到應用程序。獲得數據庫前10名記錄和從當前登錄用戶記錄

例如

rank | name |school 

1  aaa  JUU 
2  bbb  AL 
3  ccc  TN 
.  ..... ...... 

8  xxx  KAR 
9  yyy  PUN 
10  zzz  KOL 
31  NNN  DEL 

在最後一排我想顯示誰登錄到應用程序,例如用戶等級。這裏的學生「NNN」在應用程序logedin和他的排名是31.
請幫助我。

+0

您使用的是MySQL還是Oracle? PL/SQL是Oracle對SQL的擴展,這就是我問這個問題的原因。你的標籤讓我有些困惑。 – Rachcha

回答

0

您可以使用:

SELECT * -- or whatever is your selection 
    FROM mytable 
    WHERE rank <= 10 
    LIMIT 10 
UNION 
    SELECT * 
    FROM mytable 
    WHERE name = 'lll' -- Provided name is unique 
ORDER BY rank; 

Fiddle Demo

+0

謝謝:)其工作 – user2497599

+0

只是爲了您的信息 - 它是一個很好的習慣,以upvote答案或問題,你覺得有用。它也會爲你贏得一枚銅牌! http://stackoverflow.com/help/badges/6/supporter – Rachcha

0
  1. 選擇排名前10位的排名
  2. 工會與當前用戶
  3. 利用當前用戶不是已經在10 ...

select rank, name, school from ranks order by rank asc limit 10 
union 
select rank, name, school from ranks where name = ?? 
    and name not in (select name from ranks order by rank asc limit 10)