【发布时间】:2020-04-28 11:54:51
【问题描述】:
- 我平均 4 列并给出别名
score。 - 现在,我尝试在 GROUP_CONCAT 中使用
score别名来获取rank。 - 除了我添加
(SELECT GROUP_CONCAT( score ORDER BY score DESC) FROM math )) AS rank之外,一切正常。 - 我知道它不起作用,因为
score在math表中不存在。但我需要做些什么才能让它发挥作用?
这是我在 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');
- 我从上面的查询中得到 500 服务器错误。
- 我期待低于输出
{
"id": 38,
"score": 99.24250030517578,
"rank": 1
},
{
"id": 51,
"score": 84.88500213623047,
"rank": 2
},
{
"id": 204,
"score": 69.27500057220459,
"rank": 3
}
]```
【问题讨论】:
-
发布样本数据和预期结果。
-
@forpas 我已经添加了我希望看到的内容
-
你的MySql是什么版本的?
-
@forpas AWS Aurora MySQl 5.6 global_10a
-
但是您还没有添加我们期望看到的内容。 meta.stackoverflow.com/questions/333952/…
标签: mysql laravel laravel-5 eloquent sql-server-group-concat