跳到主要内容
版本: 最新版本-3.5

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