作者kajm (kajm)
看板Database
标题[SQL ] 取出排名前五的次数
时间Thu Nov 19 19:38:46 2015
各位前辈好,
最近碰到一个需求,要用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搭配子查询,可是都会卡住 囧
只好上来求助各位前辈><,希望能给点方向 感谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.143.224.27
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1447933129.A.1E3.html
※ 编辑: kajm (220.133.198.233), 11/19/2015 21:14:56
1F:推 chippclass: 这样的语法可以取得事件一的前五名? 11/19 21:22
2F:→ kajm: 抱歉,最後少一行ORDER BY log.Score DESC @@ 11/19 21:27
※ 编辑: kajm (220.133.198.233), 11/19/2015 21:27:51
4F:→ kajm: c大: 谢谢,测试後的确可以跑 感激不尽>< 11/20 19:46