Я пытаюсь отображать средние значения каждого игрока построчно с именем игрока, которое я просматривал в документах оракула и в предыдущем вопросе, заданном другими людьми о переполнении стека.Я только сталкивался с тем, как выбрать группу среднего значения по их идентификатору записи и как выбрать среднее значение, используя подзапрос
. Например, я обнаружил, что получаю среднее значение по каждой строке на
select round(avg(g1+g2+g3+g4)) as "Average Score" from ch_user group by playerid;
Обратите внимание, что я не отображал мой PlayerID, показанный на картинке.
Если я выберу игрока и avg, это даст мне ORA-01427.
Я пытался
select player, (select round(avg(g1+g2+g3+g4)) from ch_user group by playerid) as "Average Score" from ch_user;
Но это вызывает ошибку ORA-01427.
однострочный подзапрос возвращает более одной строки.
Заранее спасибо
ОБНОВЛЕНО
Я уже нашел решение дляпроблема, и я могу реализовать его в своем запросе на основе ответа @Boneist.
Однако, я нахожу запрос длинным, есть ли шанс, что я мог бы упростить запрос?
Мой запросэто
select first_name || ' ' || last_name as Player,game_1 as G1 , game_2 as g2 ,
game_3 as g3, game_4 as G4,total_score as "Total Tournament Score",
round(avg(game_1+game_2+game_3+game_4)) as "Average Score" from ch_user
group by playerid, first_name,last_name,game_1,game_2,game_3,game_4,total_score;