Сумма значений в столбце таблицы mysql по заданному условию

656
27 января 2017, 08:51

Здравствуйте.
Есть таблица результатов тестирования, каждая строчка содержит информацию, сколько тот или иной юзер набрал в том или ином тесте.

id | user_id | test_id | result
1  | 1       | 1       | 15    
2  | 3       | 1       | 10
3  | 1       | 2       | 5
4  | 3       | 3       | 5 
5  | 2       | 1       | 10
6  | 1       | 3       | 10

Требуется подсчитать, каков общий результат по всем тестам у каждого пользователя, то есть, вывести (согласно приведенному выше примеру) следующее:

user 1  = 30
user 2  = 10
user 3  = 15

Как это сосчитать, и вывести? Можно ли считать прямо в sql-запросе? Или сначала собрать всю таблицу в массив, и его как-то дополнительно обработать?

Или проще дополнительную таблицу создать, в которую суммировать все набранные пользователем баллы?

Заранее спасибо.

Answer 1
SELECT user_id, SUM(result) AS user_sum FROM `table` GROUP BY user_id

GROUP BY - используется для определения групп выходных строк, к которым могут применяться агрегатные функции (COUNT, MIN, MAX, AVG и SUM) больше информации... и доки

READ ALSO
Удалить часть строки

Удалить часть строки

Наверное глупый вопрос, но не знаю как это сделатьИмеем строку типа:

322
Проблемы с запросом

Проблемы с запросом

Доброго вечера, изучаю PHP по книге O'Reilly, "Создание динамических веб-сайтов

301
mail непонятный символы в письме

mail непонятный символы в письме

При отправке почты получаю в тексте письма :" раÐ! �мещение в информациоÐ �ной системе протоко

382
Выдаёт ошибку Notice: Undefined variable:

Выдаёт ошибку Notice: Undefined variable:

Выдаёт ошибку Notice: Undefined variable: dic in /home/v/vladle43/muzikalka-onlaynrf/public_html/all/dictant/class

370