排名总和 mysql
Ranking sum in mysql
我有一个 Mysql 查询,我试图在其中对一列求和,然后按总数进行排名。
这是我的查询:
select
@rownum:=@rownum+1 as rank,
sum(length) as total,
user_id
from submissions,
(select @rownum:=0) a WHERE id = 1067 AND status = 1
group by user_id
order by total desc
这导致:
rank total user_id
2 65.25 1360
1 59.50 1151
4 58.00 1250
6 55.75 1374
5 51.25 1154
3 34.75 841
我认为您必须先使用内部查询来获取总数,然后使用外部查询对它们进行排名 select,如下所示:
select @rownum:=@rownum+1 as rank,
total,
user_id
from
(select sum(length) as total,
user_id
from submissions
WHERE id = 1067 AND status = 1
group by user_id
order by total desc)T,(select @rownum:=0)a
我有一个 Mysql 查询,我试图在其中对一列求和,然后按总数进行排名。
这是我的查询:
select
@rownum:=@rownum+1 as rank,
sum(length) as total,
user_id
from submissions,
(select @rownum:=0) a WHERE id = 1067 AND status = 1
group by user_id
order by total desc
这导致:
rank total user_id
2 65.25 1360
1 59.50 1151
4 58.00 1250
6 55.75 1374
5 51.25 1154
3 34.75 841
我认为您必须先使用内部查询来获取总数,然后使用外部查询对它们进行排名 select,如下所示:
select @rownum:=@rownum+1 as rank,
total,
user_id
from
(select sum(length) as total,
user_id
from submissions
WHERE id = 1067 AND status = 1
group by user_id
order by total desc)T,(select @rownum:=0)a