[英]How do I use select alias inside GROUP_CONCAT?
score
.score
。score
alias inside GROUP_CONCAT to get rank
.score
别名来获得rank
。(SELECT GROUP_CONCAT( score ORDER BY score DESC) FROM math )) AS rank
.(SELECT GROUP_CONCAT( score ORDER BY score DESC) FROM math )) AS rank
。score
does not exist in the math
table.math
表中不存在score
。 But what do I need to do to make it work? Here is my query in laravel 5.5 -这是我在 laravel 5.5 中的查询 -
$ranking = DB::select('SELECT id, (a.addition_accuracy + a.subtraction_accuracy + a.multiplication_accuracy + a.division_accuracy)/4 as score, (SELECT GROUP_CONCAT( score ORDER BY score DESC) FROM math )) AS rank FROM math a where level = 5');
{
"id": 38,
"score": 99.24250030517578,
"rank": 1
},
{
"id": 51,
"score": 84.88500213623047,
"rank": 2
},
{
"id": 204,
"score": 69.27500057220459,
"rank": 3
}
]```
Try this one for your query.试试这个为您的查询。 I changed it to checl also the score
我把它改成检查分数
SELECT
id
, (a.addition_accuracy + a.subtraction_accuracy + a.multiplication_accuracy + a.division_accuracy)/4 as score
,if(@score = score,@rank:= @rank,@rank:= @rank+1) as rank
, @score := score
FROM math a,(SELECT @rank :=0) b ,(SELECT @score :=0) c
where level = 5
ORDER BY score DESC
LIMIT 3
As i said some data as test ground would be nice正如我所说,一些数据作为试验场会很好
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.