Подсчёт количества
Для подсчёта количества значений или строк применяется функция COUNT().
Найдём количество записей потоков для каждого курса. Чтобы подсчитать строки, определим параметром функции COUNT знак подстановки «звёздочка» и сгруппируем данные в разрезе идентификаторов курсов course_id:
| sqlite> SELECT course_id, COUNT(*) FROM streams GROUP BY course_id; course_id COUNT(*) ---------- ---------- 1 1 2 1 3 1 sqlite> |
Другой вид с именами столбцов получается посредством режима вывода line:
| sqlite>.mode line sqlite> SELECT course_id, COUNT(*) FROM streams GROUP BY course_id; course_id = 1 COUNT(*) = 1 course_id = 2 COUNT(*) = 1 course_id = 3 COUNT(*) = 1 sqlite> |
Чтобы улучшить вывод, надо дать расчётному столбцу COUNT(*) синоним (алиас), воспользовавшись ключевым словом AS:
| sqlite>.mode line sqlite> SELECT course_id, COUNT(*) AS 'streams_total' FROM streams GROUP BY course_id; course_id = 1 streams_total = 1 course_id = 2 streams_total = 1 course_id = 3 streams_total = 1 sqlite> |
Поиск максимального и минимального значения
Для поиска максимального и минимального значения используются функции MAX и MIN соответственно. Определим максимальную и минимальную оценки ученика по всем курсам. Так как нам надо получить данные в разрезе учеников, то группируем по идентификатору ученика:
| sqlite>.header on sqlite>.mode column sqlite> SELECT student_id, MAX(grade) AS 'max_grade' FROM grades GROUP BY student_id; student_id max_grade ---------- ---------- 1 5 2 5 sqlite> sqlite> SELECT student_id, MIN(grade) AS 'min_grade' FROM grades GROUP BY student_id; student_id min_grade ---------- ---------- 1 4.9 2 5 sqlite> |
Получение суммы
Функция SUM() позволит найти сумму значений столбца. Подсчитаем общее количество занятий по всем курсам. Обратите внимание, что в этом случае группировка не требуется:
| sqlite> SELECT SUM(lessons_amount) AS 'lessons_total' FROM courses; lessons_total ------------- 28 sqlite> |






