Перейти к основному содержимому
Версия: 2.0.x

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 |
+--------------------------------+