2015-02-14 4 views
0

У меня есть таблица вроде этого:сумма в два раза и группа

| ID | Team | User | Try1 | Try2 | Try3 | 
| 1 | Black | Chris | 2 | 6 | 4 | 
| 2 | Black | Brian | 10 | 8 | 10 | 
| 3 | Red | Mark | 6 | 2 | 8 | 
| 4 | Red | Andrew | 4 | 10 | 6 | 

мне нужно рассчитывать команде попробовать очки вместе, чтобы получить общее количество.

SELECT *, SUM(Try1 + Try2 + Try3) AS total FROM team_pts GROUP BY team ORDER BY total DESC 

Вопрос в том, как я могу выводить каждую команду для каждой попытки? Что-то вроде этого:

| Pos | Team | Try1 | Try2 | Try3 | Total | 
| 1 | Black | 12 | 14 | 14 | 40 | 
| 2 | Red | 10 | 12 | 14 | 36 | 

Извините за мой английский!

+1

Просто SUM его individualy перед вашей общей суммы, 'SUM (try1), SUM (try2) ...' – Mihai

+0

Спасибо, не думал об этом. – MeChris

ответ

1

Вы должны суммировать столбец перед тем общей суммой:

SELECT *, 
     SUM(Try1), 
     SUM(Try2), 
     SUM(Try3), 
     SUM(Try1 + Try2 + Try3) AS total 
FROM team_pts 
GROUP BY team 
ORDER BY total DESC 
1

SELECT, идентификатор команды, СУММА (Try1) в качестве Try1, СУММА (Try2) в качестве Try2, СУММА (Try3) в качестве Try3, СУММА (Try1 + Try2 + Try3) AS Всего с team_pts GROUP BY команды ORDER BY общего DESC