HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <h2>Агрегация (COUNT)</h2>
1 <h2>Агрегация (COUNT)</h2>
2 <p>На начальном этапе исследования данных аналитику зачастую необходимо банально подсчитать количество элементов в группе или наборе данных и представить эту информацию в виде одного числа. Для решения задачи такого рода полезно начать работу с использования агрегирующей функции COUNT.</p>
2 <p>На начальном этапе исследования данных аналитику зачастую необходимо банально подсчитать количество элементов в группе или наборе данных и представить эту информацию в виде одного числа. Для решения задачи такого рода полезно начать работу с использования агрегирующей функции COUNT.</p>
3 <p>Функция COUNT называется агрегирующей, потому что она собирает или "складывает" информацию из нескольких строк данных в одно значение. Агрегирующие функции, такие как COUNT, используются для упрощения и обобщения данных, чтобы сделать их более понятными и удобными для анализа.</p>
3 <p>Функция COUNT называется агрегирующей, потому что она собирает или "складывает" информацию из нескольких строк данных в одно значение. Агрегирующие функции, такие как COUNT, используются для упрощения и обобщения данных, чтобы сделать их более понятными и удобными для анализа.</p>
4 <h2>Считаем общее количество строк и значений столбца</h2>
4 <h2>Считаем общее количество строк и значений столбца</h2>
5 <p>Представим, что мы хотим посчитать общее количество продаж из нашей<a>базы данных</a>:</p>
5 <p>Представим, что мы хотим посчитать общее количество продаж из нашей<a>базы данных</a>:</p>
6 <p>Для этого выполним следующий запрос:</p>
6 <p>Для этого выполним следующий запрос:</p>
7 <p>Получим такой результат:</p>
7 <p>Получим такой результат:</p>
8 <p>В запросе выше мы передали функцию COUNT со звездочкой в качестве аргумента. Так мы подсчитываем количество всех строк в таблице, независимо от их значений. Поэтому в расчет берутся столбцы и с определенными значениями, и со значением NULL.</p>
8 <p>В запросе выше мы передали функцию COUNT со звездочкой в качестве аргумента. Так мы подсчитываем количество всех строк в таблице, независимо от их значений. Поэтому в расчет берутся столбцы и с определенными значениями, и со значением NULL.</p>
9 <p>А теперь попробуем заменить звездочку на название какого-либо столбца из таблицы:</p>
9 <p>А теперь попробуем заменить звездочку на название какого-либо столбца из таблицы:</p>
10 <p>В этом запросе мы использовали функцию COUNT(название_столбца). Результат получился тот же самый:</p>
10 <p>В этом запросе мы использовали функцию COUNT(название_столбца). Результат получился тот же самый:</p>
11 <p>В большинстве случаев COUNT(*) и COUNT(название_столбца) дадут одинаковые результаты, но работают они по-разному.</p>
11 <p>В большинстве случаев COUNT(*) и COUNT(название_столбца) дадут одинаковые результаты, но работают они по-разному.</p>
12 <p>Разница между COUNT(*) и COUNT(название_столбца) заключается в том, как они обрабатывают NULL - нулевые значения:</p>
12 <p>Разница между COUNT(*) и COUNT(название_столбца) заключается в том, как они обрабатывают NULL - нулевые значения:</p>
13 <ul><li>Функция COUNT(*) подсчитывает все строки в выборке. Для нее не важно, есть строки с нулевым значением или нет</li>
13 <ul><li>Функция COUNT(*) подсчитывает все строки в выборке. Для нее не важно, есть строки с нулевым значением или нет</li>
14 <li>Функция COUNT(название_столбца) подсчитывает только строки со значениями, не включая нулевые значения. Если значение столбца равно NULL, строка с ним не войдет в общее количество</li>
14 <li>Функция COUNT(название_столбца) подсчитывает только строки со значениями, не включая нулевые значения. Если значение столбца равно NULL, строка с ним не войдет в общее количество</li>
15 </ul><p>Если столбец не содержит строки с нулевым значением, то функции дадут одинаковые результаты. Но если нулевые значения все таки есть, то функция COUNT(название_столбца) выдаст меньше строк, чем COUNT(*) - строки с NULL не зачтутся.</p>
15 </ul><p>Если столбец не содержит строки с нулевым значением, то функции дадут одинаковые результаты. Но если нулевые значения все таки есть, то функция COUNT(название_столбца) выдаст меньше строк, чем COUNT(*) - строки с NULL не зачтутся.</p>
16 <h2>Считаем количество уникальных значений</h2>
16 <h2>Считаем количество уникальных значений</h2>
17 <p>С помощью функций COUNT и DISTINCT можно решать аналитические задачи, связанные с подсчетом уникальных значений в столбцах.</p>
17 <p>С помощью функций COUNT и DISTINCT можно решать аналитические задачи, связанные с подсчетом уникальных значений в столбцах.</p>
18 <p>Для примера представим, что нам нужно узнать количество уникальных категорий товаров в нашей базе. Напишем такой запрос:</p>
18 <p>Для примера представим, что нам нужно узнать количество уникальных категорий товаров в нашей базе. Напишем такой запрос:</p>
19 <p>Получим такой результат:</p>
19 <p>Получим такой результат:</p>
20 <p>Если мы хотим выбрать уникальные комбинации значений из нескольких столбцов, можно использовать DISTINCT с несколькими колонками.</p>
20 <p>Если мы хотим выбрать уникальные комбинации значений из нескольких столбцов, можно использовать DISTINCT с несколькими колонками.</p>
21 <p>Например, подсчитаем уникальные комбинации продуктов и их категорий:</p>
21 <p>Например, подсчитаем уникальные комбинации продуктов и их категорий:</p>
22 <p>Здесь результат будет таким:</p>
22 <p>Здесь результат будет таким:</p>
23 <p>В SQLite, MySQL и некоторых других СУБД нельзя напрямую использовать COUNT(DISTINCT название_столбца1, название_столбца2). Вместо этого можно воспользоваться<strong>конкатенацией строк</strong>. Для этого мы:</p>
23 <p>В SQLite, MySQL и некоторых других СУБД нельзя напрямую использовать COUNT(DISTINCT название_столбца1, название_столбца2). Вместо этого можно воспользоваться<strong>конкатенацией строк</strong>. Для этого мы:</p>
24 <ul><li>Сначала используем функцию ||, чтобы объединить значения из нескольких столбцов</li>
24 <ul><li>Сначала используем функцию ||, чтобы объединить значения из нескольких столбцов</li>
25 <li>А затем применяем функцию COUNT(DISTINCT ...)</li>
25 <li>А затем применяем функцию COUNT(DISTINCT ...)</li>
26 </ul><h2>Выводы</h2>
26 </ul><h2>Выводы</h2>
27 <p>В этом уроке мы рассмотрели функцию COUNT и выяснили, как она помогает аналитикам в работе. Кратко подведем итоги:</p>
27 <p>В этом уроке мы рассмотрели функцию COUNT и выяснили, как она помогает аналитикам в работе. Кратко подведем итоги:</p>
28 <ul><li>COUNT - это агрегирующая функция, которая подсчитывает количество элементов в группе или наборе данных</li>
28 <ul><li>COUNT - это агрегирующая функция, которая подсчитывает количество элементов в группе или наборе данных</li>
29 <li>Можно использовать COUNT(*) или COUNT(название_столбца). Эти две функции по-разному работают с нулевыми значениями</li>
29 <li>Можно использовать COUNT(*) или COUNT(название_столбца). Эти две функции по-разному работают с нулевыми значениями</li>
30 <li>Посчитать уникальные значения в столбцах можно с помощью функций COUNT и DISTINCT</li>
30 <li>Посчитать уникальные значения в столбцах можно с помощью функций COUNT и DISTINCT</li>
31 <li>Те же функции помогают посчитать уникальные комбинации значений из нескольких столбцов с использованием конкатенации строк</li>
31 <li>Те же функции помогают посчитать уникальные комбинации значений из нескольких столбцов с использованием конкатенации строк</li>
32 </ul><p>Умение работать с функцией COUNT помогает аналитику проводить более сложный анализ данных, извлекать уникальные характеристики и обобщать информацию.</p>
32 </ul><p>Умение работать с функцией COUNT помогает аналитику проводить более сложный анализ данных, извлекать уникальные характеристики и обобщать информацию.</p>