ВОПРОС
Е

MySQL как получить сумму значений столбца?

Вопрос новичка

ОТВЕТЫ (1)
0
Допустим есть таблица "journal (журнал оценок)", в ней столбцы "id (ид записи)" "student (студент)", "discipline (предмет)", "score (оценка)" и "date (дата оценки)". Таблица имеет следующие записи:
idstudentdisciplinescoredate
1Бурученко Т.Алгебра32018-01-15
2Громова А.География42018-01-16
3Гущин В.Алгебра52018-01-17
4Думчев С.География22018-01-18
5Бурученко Т.География52018-01-19
6Громова А.Алгебра12018-01-22
7Гущин В.География52018-01-23
8Думчев С.Алгебра32018-01-24
9Бурученко Т.Алгебра52018-01-25
10Громова А.География42018-01-25
11Гущин В.Алгебра22018-01-26
12Думчев С.География32018-01-26


Пример №1. Получим сумму всех значений столбца "score", для этого выполним следующий запрос:
SELECT SUM(score) FROM journal
получим такой результат:
SUM(score)
42


Пример №2. Усложним запрос, теперь получим сумму строк столбца "score", значение которых больше 4.
SELECT SUM(score) FROM journal WHERE score > 4
результат:
SUM(score)
20


Пример №3. Сумма значений столбца "score" с датой от 25 января 2018.
SELECT SUM(score) FROM journal WHERE date >= '2018-01-25'
результат:
SUM(score)
14


Пример №4. Сумма оценок с номерами id равными 1 и 10.
SELECT SUM(score) FROM journal WHERE id IN (1,10)
результат:
SUM(score)
7


Пример №5. Сумма оценок последних 5 записей (работает не во всех версия MySQL):
SELECT SUM(score) FROM journal WHERE id IN (SELECT id FROM journal ORDER BY id DESC LIMIT 5)
результат:
SUM(score)
17


Пример №6. Наконец добрались к примерам с группировками. Поставим задачу получить сумму всех оценок каждого студента по отдельности, для этого выполним такой запрос:
SELECT student, SUM(score) FROM journal GROUP BY student
результат:
studentSUM(score)
Бурученко Т.13
Громова А.
9
Гущин В.12
Думчев С.8


Пример №7. Теперь рассмотрим пример с двойной группировкой. Найдем сумму оценок каждого студента по каждому предмету отдельно:
SELECT student, discipline, SUM(score) FROM journal GROUP BY student, discipline
результат:
studentdisciplineSUM(score)
Бурученко Т.Алгебра8
Бурученко Т.География5
Громова А.Алгебра1
Громова А.География8
Гущин В.Алгебра7
Гущин В.География5
Думчев С.Алгебра3
Думчев С.География5