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