Сумма максимального балла по всем тестам - MySQL

Узнай цену своей работы

Формулировка задачи:

Есть результаты тестирования людей. Нужно получить что-то такое:
Пользователь Сумма макс. баллов Макс. балл по тесту1 Макс. балл по тесту2
Вася 21 12 9
Петя 19 10 9
Маша 15 8 6
Со столбцами, где просто отображаются максимальные баллы, проблем нет, а вот, как сделать столбец-сумму я придумать не могу. Помогите, пожалуйста =)

Решение задачи: «Сумма максимального балла по всем тестам»

textual
Листинг программы
SELECT 
ROUND(MAX(IF(test_id = 1, bal, NULL)), 1) AS 'Макс. балл по тесту1' 
FROM reports 
GROUP BY user_id;

Объяснение кода листинга программы

  1. В данном коде используется язык SQL для работы с базой данных.
  2. Код выполняет запрос к таблице reports в базе данных.
  3. Функция ROUND используется для округления результата до 1 знака после запятой.
  4. Функция MAX используется для получения максимального значения из всех значений, которые будут сравниваться.
  5. Функция IF используется для сравнения значения test_id с 1 и возврата значения bal, если условие выполняется, иначе NULL.
  6. Группировка результатов происходит по user_id.
  7. Результатом запроса будет список с одним элементом - максимальным баллом по тесту1 для каждого user_id.
  8. Значение этого элемента будет выводиться в виде строки с названием Макс. балл по тесту1.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы