如何在获取sql中不同主题的标记的基础上订购学生排名

时间:2017-06-21 17:53:17

标签: sql position rank

这是我们的表

rank    name          total
1       mayank        381
2       ashis         370
3       rohit         314
4       pk            289
5       komal         287

我们希望结果显示为(基本上对成绩进行总结)

{{1}}

2 个答案:

答案 0 :(得分:0)

试试这个

SELECT @curRank := @curRank + 1 AS rank, name, (math + physics + chemistry + hindi + history) AS total FROM table, (SELECT @curRank := 0) r ORDER BY total DESC;

这将汇总所有字段并按降序排序并添加排名。

通过执行SELECT @curRank := 0,您可以将其全部保存在一个SQL语句中,而无需先执行SET。

答案 1 :(得分:0)

SET @rank=0;

SELECT @rank:=@rank+1 AS rank,name,(math+physics+chemistry+hindi+english) as total
FROM tablename ORDER BY total DESC

这将产生您想要的结果

rank | name | total

--------------------
1    | mayank | 381
2    | ashis  | 370

有关详细信息,请查看mysql ranking results