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>