メインコンテンツまでスキップ

multi_distinct_count

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