Здравствуйте.
Есть таблица результатов тестирования, каждая строчка содержит информацию, сколько тот или иной юзер набрал в том или ином тесте.
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-запросе? Или сначала собрать всю таблицу в массив, и его как-то дополнительно обработать?
Или проще дополнительную таблицу создать, в которую суммировать все набранные пользователем баллы?
Заранее спасибо.
SELECT user_id, SUM(result) AS user_sum FROM `table` GROUP BY user_id
GROUP BY - используется для определения групп выходных строк, к которым могут применяться агрегатные функции (COUNT, MIN, MAX, AVG и SUM) больше информации... и доки
Продвижение своими сайтами как стратегия роста и независимости