- Я усредняю 4 столбца и даю псевдоним
score
. - Теперь я пытаюсь использовать
score
псевдоним внутри GROUP_CONCAT, чтобы получить 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');
- I ошибка сервера 500 из приведенного выше запроса.
- Ожидается вывод ниже
{
"id": 38,
"score": 99.24250030517578,
"rank": 1
},
{
"id": 51,
"score": 84.88500213623047,
"rank": 2
},
{
"id": 204,
"score": 69.27500057220459,
"rank": 3
}
]```