web-dev-qa-db-ja.com

列内の固有値の数を見つけるためのSQL

次のようにして、列内のすべての異なる値を選択できます。

  • SELECT DISTINCT column_name FROM table_name;
  • SELECT column_name FROM table_name GROUP BY column_name;

しかし、そのクエリから行数を取得するにはどうすればよいですか。副照会は必要ですか?

311

DISTINCT aggregate関数内でCOUNTキーワードを使用できます。

SELECT COUNT(DISTINCT column_name) AS some_alias FROM table_name

これはその列の個別の値のみを数えます。

560
Noah Goodrich

これにより、異なる列値と各値の数の両方がわかります。私は通常、両方の情報を知りたいと思っています。

select distinct columnName, count(columnName) as CountOf from tableName group by columnName
147
Paul James

Count()はnull値を無視することに注意してください。したがって、nullをそれ自体の固有の値として許可する必要がある場合は、次のように注意が必要です。

select count(distinct my_col)
       + count(distinct Case when my_col is null then 1 else null end)
from my_table
/
25
David Aldridge
select count(*) from 
(
SELECT distinct column1,column2,column3,column4 FROM abcd
) T

これにより、列の個別のグループ数がわかります。

13
Vaibhav
SELECT COUNT(DISTINCT column_name) FROM table as column_name_count;

あなたはその異なるcolを数えなければなりません、そしてそれにエイリアスを与えます。

11
Pete Karl II

Column_nameの固有値のsql合計と頻度によるソート。

SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name ORDER BY 2 DESC;
11
xchiltonx
select Count(distinct columnName) as columnNameCount from tableName 
5
Wayne
select count(distinct(column_name)) AS columndatacount from table_name where somecondition=true

このクエリを使用して、異なる/異なるデータを数えることができます。ありがとう

0
Nitika Chopra

**

次のSQLを使用して、Oracle 11gでは 個別の列値の数 を取得できます。

**

Select count(distinct(Column_Name)) from TableName
0
Nilesh Shinde