[SQL ] 取出排名前五的次數

作者: kajm (kajm)   2015-11-19 19:38:46
各位前輩好,
最近碰到一個需求,要用SQL取得某一個使用者在各事件中排名前五的次數。
我想法是先取得某一次事件的前五:
SELECT TOP 5 log.Score, log.UserId
FROM Events e, EventLog log
WHERE e.EventNo = log.EventNo
AND e.EventNo = 1
ORDER BY log.Score DESC;
Events這張表是紀錄有哪些事件
EventLog則是紀錄某事件裡每個人的分數
雖然上面的SQL可以順利取出事件1裡面的前五名,
可是要改成取出所有事件的前五名就卡住了…
有稍微試過用GROUP BY搭配子查詢,可是都會卡住 囧
只好上來求助各位前輩><,希望能給點方向 感謝!
作者: chippclass (善假狼賺錢中)   2015-11-19 21:22:00
這樣的語法可以取得事件一的前五名?
作者: kajm (kajm)   2015-11-19 21:27:00
抱歉,最後少一行ORDER BY log.Score DESC @@
作者: chippclass (善假狼賺錢中)   2015-11-20 00:04:00
http://i.imgur.com/lYbBCxa.png 這真的能用嗎?
作者: kajm (kajm)   2015-11-20 19:46:00
c大: 謝謝,測試後的確可以跑 感激不盡><

Links booklink

Contact Us: admin [ a t ] ucptt.com