В этом учебном пособии вы узнаете, как использовать MariaDB функцию COUNT с синтаксисом и примерами.
Описание
MariaDB функция COUNT возвращает количество выражений.
Синтаксис
Синтаксис функции COUNT в MariaDB:
FROM tables
[WHERE conditions];
Или синтаксис для функции COUNT при группировке результатов по одному или нескольким столбцам:
COUNT(aggregate_expression)
FROM tables
[WHERE conditions]
GROUP BY expression1, expression2, .. expression_n;
Параметры или аргументы
- expression1, expression2, .. expression_n
- Выражения, которые не заключены в функцию COUNT и должны быть включены в предложение GROUP BY в конце SQL запроса.
- aggregate_expression
- Это столбец или выражение, чьи ненулевые значения будут учитываться.
- tables
- Таблицы, из которых вы хотите получить записи. В предложении FROM должна быть указана хотя бы одна таблица.
- WHERE conditions
- Необязательный. Это условия, которые должны быть соблюдены для выбора записей.
Включает только значения NOT NULL
Не все это понимают, но функция COUNT будет включать в счет только записи, в которых значение expression в COUNT (expression) равно NOT NULL. Когда expression содержит значение NULL, оно не включается в вычисления COUNT.
Рассмотрим пример функции COUNT, который демонстрирует, как значения NULL оцениваются функцией COUNT.
Например, если у вас есть следующая таблица с именем sites:
site_id | site_name | server_name |
---|---|---|
1 | Yahoo.com | MyServer |
2 | Bing.com | |
3 | Yandex.com |
И если вы запустили следующий оператор SELECT, который использует функцию COUNT:
1 2 3 4 |
SELECT COUNT(site_id) FROM sites; --Результат: 3 |
Этот пример COUNT вернет 3, так как все значения site_id в наборе результатов запроса не равны NULL.
Однако, если вы запустили следующий оператор SELECT, который использует функцию COUNT:
1 2 3 4 |
SELECT COUNT(server_name) FROM sites; --Результат: 1 |
Этот пример COUNT вернет только 1, так как только одно значение server_name в наборе результатов запроса имеют значение NOT NULL. Это будет первая строка, где server_name равно «MyServer». Это единственная строка, которая включена в вычисление функции COUNT.
Применение
Функция COUNT может использоваться в следующих версиях MariaDB:
- MariaDB 10
Пример с одним выражением
Рассмотрим некоторые примеры функции COUNT, чтобы понять, как использовать функцию COUNT в MariaDB.
Сначала рассмотрим пример использования функции COUNT с одним выражением в MariaDB.
Например:
1 2 3 |
SELECT COUNT(*) AS "Number of Sites" FROM sites WHERE site_name in ('Google.com', 'Bing.com'); |
В этом примере функции COUNT мы рассчитаем количество sites, где site_name равно "Google.com" или "Bing.com". Мы использовали псевдоним COUNT (*) как "Number of Sites". В результате, "Number of Sites" будет отображаться как заголовок столбца при возвращении набора результатов.
Пример - использование DISTINCT
Далее давайте рассмотрим, как использовать DISTINCT в функции COUNT в MariaDB.
Например:
1 2 3 |
SELECT COUNT(DISTINCT file_size) AS "Number of Unique Sizes" FROM pages WHERE site_name = 'Google.com'; |
В этом примере COUNT, если было два одинаковых значения file_size, только одно из этих значений будет использовано при вычислении функции COUNT.
Пример - использование GROUP BY
Наконец, давайте посмотрим, как использовать оператор GROUP BY с функцией COUNT в MariaDB.
Если вы возвращаете столбцы, которые не инкапсулированы в функции COUNT, вы должны использовать предложение GROUP BY.
Например:
1 2 3 4 |
SELECT site_id, COUNT(*) AS "Number of pages per site" FROM pages WHERE site_name in ('Google.com', 'Yandex.com') GROUP BY site_id; |
В этом примере функции COUNT мы должны использовать предложение GROUP BY, поскольку поле site_id не инкапсулировано в функцию COUNT. Поэтому столбец site_id должен быть указан в разделе GROUP BY в конце SQL запроса.