在PHP&;中从总和打印排名;1、1、3、4等顺序的MySQL

在PHP&;中从总和打印排名;1、1、3、4等顺序的MySQL,php,mysql,Php,Mysql,我有下面来自堆栈溢出的SQL查询,它工作得很好 如果存在任何平局,我希望下面的查询按以下顺序输出排名: 1,1,3,4,5,6,6,6,9,10。。。。等等 这是SQL查询: SELECT idno, name, rank,total_score FROM (SELECT *, IF(@marks=(@marks:=total_score), @auto, @auto:=@auto+1) AS rank FROM (SELECT * FROM (SELECT idno, name,

我有下面来自堆栈溢出的SQL查询,它工作得很好

如果存在任何平局,我希望下面的查询按以下顺序输出排名:

1,1,3,4,5,6,6,6,9,10。。。。等等

这是SQL查询:

SELECT idno, name, rank,total_score
FROM (SELECT *,  IF(@marks=(@marks:=total_score), @auto, @auto:=@auto+1) AS    rank 
FROM (SELECT * FROM 
 (SELECT idno, name, SUM(score) AS total_score 
FROM jbit, 
(SELECT @auto:=0, @marks:=0) as init 
 GROUP BY name) sub ORDER BY total_score DESC)t) as result
WHERE idno ='1'

MySQL甚至可以使用标准的
orderby
按值排序。它将按照您提到的顺序返回结果行<代码>1、1、3、4、5、6、6、6、9、10

SELECT idno, name, rank, total_score FROM table_name ORDER BY rank;

最初的答案声称该代码已经处理了领带。你到底遇到了什么问题?哦。您是否就同一主题问了五个问题?回答此问题的读者可能首先希望检查OP的排名SQL问题:、和,这样工作就不会意外重复。谢谢@halfer,我现在的问题是这个;如果两个用户有相同的总和(分数),并且排名将会是,第一个用户1和第二个用户1,我希望第三个用户的分数是3而不是2,这是我希望查询表示排名的顺序。请帮帮我。谢谢你的@Dacrossby,但我并不是真的希望查询按顺序排序,而是希望查询返回该顺序的用户排名,假设USER1排名2,USER2排名2,我希望USER3排名第3,而不是第2。谢谢你,好的,所以你要的不是
1,1,3,4…
,而是
1,2,3,4…
。尝试
按等级顺序分组
-分组应删除重复的等级。谢谢@dacrossby,但这给了我错误,我希望等级位置按此顺序1,2,2,4,5,6,6,8等。谢谢