这是我们的表
rank name total
1 mayank 381
2 ashis 370
3 rohit 314
4 pk 289
5 komal 287
我们希望结果显示为(基本上对成绩进行总结)
{{1}}
答案 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