列内の異なる値の数を求めるSQL

以下の方法で、ある列のすべての異なる値を選択することができます。

  • SELECT DISTINCT column_name FROM table_name;`
  • カラム名をテーブル名からSELECT DISTINCT FROM table_name GROUP BY column_name;``。

しかし、このクエリから行数を取得するにはどうすればよいのでしょうか?サブクエリが必要でしょうか?

ソリューション

DISTINCTキーワードは、[COUNT]1集約関数の中で使用することができます。

SELECT COUNT(DISTINCT column_name) AS some_alias FROM table_name

これにより、その列の異なる値のみがカウントされます。

解説 (5)
SELECT COUNT(DISTINCT column_name) FROM table as column_name_count;

の場合は、その個別のcolを数えてから、別名をつけなければなりません。

解説 (0)
select Count(distinct columnName) as columnNameCount from tableName 
解説 (0)