Перейти к основному содержимому

multi_distinct_count

Описание

Возвращает общее количество строк expr, эквивалентно count(distinct expr).

Синтаксис

multi_distinct_count(expr)

Параметры

expr: столбец или выражение, на основе которого выполняется multi_distinct_count(). Если expr является именем столбца, столбец может быть любого типа данных.

Возвращаемое значение

Возвращает числовое значение. Если строки не найдены, возвращается 0. Эта функция игнорирует значения NULL.

Примеры

Предположим, есть таблица с именем test. Запросим категорию и поставщика каждого заказа по id.

select * from test order by id;
+------+----------+----------+------------+
| id | country | category | supplier |
+------+----------+----------+------------+
| 1001 | US | A | supplier_1 |
| 1002 | Thailand | A | supplier_2 |
| 1003 | Turkey | B | supplier_3 |
| 1004 | US | A | supplier_2 |
| 1005 | China | C | supplier_4 |
| 1006 | Japan | D | supplier_3 |
| 1007 | Japan | NULL | supplier_5 |
+------+----------+----------+------------+

Пример 1: Подсчитаем количество уникальных значений в столбце category.

select multi_distinct_count(category) from test;
+--------------------------------+
| multi_distinct_count(category) |
+--------------------------------+
| 4 |
+--------------------------------+

Пример 2: Подсчитаем количество уникальных значений в столбце supplier.

select multi_distinct_count(supplier) from test;
+--------------------------------+
| multi_distinct_count(supplier) |
+--------------------------------+
| 5 |
+--------------------------------+