mysql 查询每个班的前十名的成绩

前十名是不是要limit 10
每个班又要group by一下
到底怎么写,不要用group_concat(),结果不符合规范

第1个回答  2017-04-22
答:
试运行段:
select *
from(
SELECT
obj.id,
obj.score,
CASE
WHEN @rowtotal = obj.score THEN
@rownum
WHEN @rowtotal := obj.score THEN
@rownum :=@rownum + 1
WHEN @rowtotal = 0 THEN
@rownum :=@rownum + 1
END AS rownum
FROM
(
SELECT id,name,score
from test -- 表名字
ORDER BY score DESC
)) AS obj,
(SELECT @rownum := 0 ,@rowtotal := NULL) r
) as no2
where rownum < 4追问

你好,有没有相关系统点的资料,比如储存过程和这方面的

本回答被网友采纳