HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Ранее в курсе мы изучили функции COUNT. Но кроме нее, в SQL есть и другие агрегирующие функции, которые позволяют проводить разнообразные вычисления над данными. К ним относятся:</p>
1 <p>Ранее в курсе мы изучили функции COUNT. Но кроме нее, в SQL есть и другие агрегирующие функции, которые позволяют проводить разнообразные вычисления над данными. К ним относятся:</p>
2 <ul><li>SUM</li>
2 <ul><li>SUM</li>
3 <li>MAX</li>
3 <li>MAX</li>
4 <li>MIN</li>
4 <li>MIN</li>
5 <li>AVG</li>
5 <li>AVG</li>
6 </ul><p>В этом уроке мы изучим эти агрегирующие функции. Они играют важную роль в анализе: позволяют быстро извлекать ключевые характеристики данных и обобщать информацию. Все это помогает аналитику лучше понять данные и прийти к более точным выводам.</p>
6 </ul><p>В этом уроке мы изучим эти агрегирующие функции. Они играют важную роль в анализе: позволяют быстро извлекать ключевые характеристики данных и обобщать информацию. Все это помогает аналитику лучше понять данные и прийти к более точным выводам.</p>
7 <p>Перед изучением агрегирующей функции отметим один важный факт: как и в случае с COUNT, функции SUM, MAX, MIN и AVG игнорируют нулевые значения при выполнении вычислений. Другими словами, значения NULL в столбце не учитываются при выполнении математических операций.</p>
7 <p>Перед изучением агрегирующей функции отметим один важный факт: как и в случае с COUNT, функции SUM, MAX, MIN и AVG игнорируют нулевые значения при выполнении вычислений. Другими словами, значения NULL в столбце не учитываются при выполнении математических операций.</p>
8 <h2>Функция SUM</h2>
8 <h2>Функция SUM</h2>
9 <p>Функция SUM подсчитывает суммы значений в определенном столбце. Это полезно, если нужно получить общую величину - например, общий доход или количество проданных товаров.</p>
9 <p>Функция SUM подсчитывает суммы значений в определенном столбце. Это полезно, если нужно получить общую величину - например, общий доход или количество проданных товаров.</p>
10 <p>Вычислим общее количество проданных товаров:</p>
10 <p>Вычислим общее количество проданных товаров:</p>
11 <p>В этом запросе мы используем агрегирующую функцию SUM для подсчета общего количества товаров, проданных во всех магазинах. Рассмотрим ее подробнее:</p>
11 <p>В этом запросе мы используем агрегирующую функцию SUM для подсчета общего количества товаров, проданных во всех магазинах. Рассмотрим ее подробнее:</p>
12 <ul><li>Оператор SELECT и функция SUM(quantity) вычисляют сумму значений столбца quantity</li>
12 <ul><li>Оператор SELECT и функция SUM(quantity) вычисляют сумму значений столбца quantity</li>
13 <li>Ключевое слово AS присваивает результату псевдоним total, чтобы сделать вывод понятнее</li>
13 <li>Ключевое слово AS присваивает результату псевдоним total, чтобы сделать вывод понятнее</li>
14 <li>Оператор FROM указывает, что нужно использовать таблицу sales как источник данных для запроса</li>
14 <li>Оператор FROM указывает, что нужно использовать таблицу sales как источник данных для запроса</li>
15 </ul><p>В итоге мы получаем такой результат - общее количество проданных товаров во всех магазинах:</p>
15 </ul><p>В итоге мы получаем такой результат - общее количество проданных товаров во всех магазинах:</p>
16 <h2>Функции MAX и MIN</h2>
16 <h2>Функции MAX и MIN</h2>
17 <p>MAX и MIN находят наибольшее и наименьшее значение в столбце. Таким образом можно определить максимальную и минимальную цену товара или диапазон дат.</p>
17 <p>MAX и MIN находят наибольшее и наименьшее значение в столбце. Таким образом можно определить максимальную и минимальную цену товара или диапазон дат.</p>
18 <p>Для примера определим дату самой ранней и самой поздней продажи:</p>
18 <p>Для примера определим дату самой ранней и самой поздней продажи:</p>
19 <p>Получим такой результат:</p>
19 <p>Получим такой результат:</p>
20 <p>Представим, что еще нам нужно узнать разницу по времени между этими двумя датами. Простая разность двух этих показателей не приведет к нужному результату.</p>
20 <p>Представим, что еще нам нужно узнать разницу по времени между этими двумя датами. Простая разность двух этих показателей не приведет к нужному результату.</p>
21 <p>Чтобы вычислить временной интервал между двумя датами в SQLite, воспользуемся специфичной функцией JULIANDAY():</p>
21 <p>Чтобы вычислить временной интервал между двумя датами в SQLite, воспользуемся специфичной функцией JULIANDAY():</p>
22 <p>Такой результат получим в итоге:</p>
22 <p>Такой результат получим в итоге:</p>
23 <h2>Функция AVG</h2>
23 <h2>Функция AVG</h2>
24 <p>Функция AVG вычисляет среднее значение столбца. С ее помощью можно определить любое среднее значение - например, среднюю стоимость товаров, число продаж или зарплату сотрудников.</p>
24 <p>Функция AVG вычисляет среднее значение столбца. С ее помощью можно определить любое среднее значение - например, среднюю стоимость товаров, число продаж или зарплату сотрудников.</p>
25 <p>Функция AVG работает следующим образом:</p>
25 <p>Функция AVG работает следующим образом:</p>
26 <ul><li>Сначала она определяет все числовые значения в указанном столбце</li>
26 <ul><li>Сначала она определяет все числовые значения в указанном столбце</li>
27 <li>Затем она суммирует все эти значения</li>
27 <li>Затем она суммирует все эти значения</li>
28 <li>В конце она делит сумму на количество числовых значений, не учитывая нулевые</li>
28 <li>В конце она делит сумму на количество числовых значений, не учитывая нулевые</li>
29 </ul><p>Чтобы попрактиковаться, вычислим среднюю цену товаров через функцию AVG:</p>
29 </ul><p>Чтобы попрактиковаться, вычислим среднюю цену товаров через функцию AVG:</p>
30 <p>В выводе мы увидим среднюю цену:</p>
30 <p>В выводе мы увидим среднюю цену:</p>
31 <p>При вычислении среднего значения часто получаются дробные показатели, поэтому полезно использовать функцию ROUND. Она округляет полученный результат до нужного количества знаков после запятой.</p>
31 <p>При вычислении среднего значения часто получаются дробные показатели, поэтому полезно использовать функцию ROUND. Она округляет полученный результат до нужного количества знаков после запятой.</p>
32 <p>Посчитаем среднее количество проданных товаров с округлением:</p>
32 <p>Посчитаем среднее количество проданных товаров с округлением:</p>
33 <p>Результат получится без знаков после запятой, потому что для функции ROUND мы указали число 0 в качестве второго аргумента и таким образом округлили результат до целого значения:</p>
33 <p>Результат получится без знаков после запятой, потому что для функции ROUND мы указали число 0 в качестве второго аргумента и таким образом округлили результат до целого значения:</p>
34 <h2>Выводы</h2>
34 <h2>Выводы</h2>
35 <p>В этом уроке мы познакомились с другими агрегирующими функциями в SQL - SUM, MAX, MIN и AVG. Как и функция COUNT, они игнорируют значения NULL при выполнении вычислений. Кратко повторим их основные свойства:</p>
35 <p>В этом уроке мы познакомились с другими агрегирующими функциями в SQL - SUM, MAX, MIN и AVG. Как и функция COUNT, они игнорируют значения NULL при выполнении вычислений. Кратко повторим их основные свойства:</p>
36 <ul><li>SUM подсчитывает сумму значений в определенном столбце</li>
36 <ul><li>SUM подсчитывает сумму значений в определенном столбце</li>
37 <li>MAX и MIN находят наибольшее и наименьшее значение в столбце</li>
37 <li>MAX и MIN находят наибольшее и наименьшее значение в столбце</li>
38 <li>AVG вычисляет среднее значение столбца</li>
38 <li>AVG вычисляет среднее значение столбца</li>
39 </ul><p>Также мы познакомились с еще двумя полезными функциями:</p>
39 </ul><p>Также мы познакомились с еще двумя полезными функциями:</p>
40 <ul><li>JULIANDAY() вычисляет интервал между двумя датами в SQLite</li>
40 <ul><li>JULIANDAY() вычисляет интервал между двумя датами в SQLite</li>
41 <li>ROUND округляет результаты до нужного количества знаков после запятой</li>
41 <li>ROUND округляет результаты до нужного количества знаков после запятой</li>
42 </ul>
42 </ul>