У меня есть таблица с игровыми счетами; одна строка для каждой миссии. Чтобы получить лучшие баллы для каждого пользователя, я создал запрос, который даст мне максимальный балл для каждой миссии для каждого пользователя с одной строкой для каждого пользователя. Эти баллы добавляются в виде дополнительных столбцов (mission_1 и mission_2). Все идет нормально.Суммированные поля, созданные с регистром
Но теперь я хочу суммировать эти два поля, чтобы получить общий максимальный балл для каждого пользователя. Однако MySQL не позволит мне и говорит Неизвестный столбец «mission_1» в «списке полей».
Возможно ли, чтобы эти поля суммировались?
Мне также интересно узнать, можно ли получить соответствующую строку_иды (gsid в моей таблице) для миссии с максимальным счетом в отдельных столбцах (mission_1_id и mission_2_id). Но у меня такое чувство, что это не сработает, потому что я использую MAX().
SELECT m . * , max(m.id) as max_id, max(submitted_on) AS max_submitted_on,
ifnull(max(CASE WHEN mission =1 THEN score END) , 0) AS mission_1_score,
ifnull(max(CASE WHEN mission =2 THEN score END) , 0) AS mission_2_score,
mission_1_score + mission_2_score AS total_score
FROM game_sessions m
GROUP BY username
вы не можете подвести псевдоним, вы должны суммировать каждый из как выражения, скажем IFNULL (.... миссия = 1 ...) + IFNULL (. ... mission = 2 ...) – Nico
спасибо, это было сутью ответа Гордона. – Whiskey