次の方法で、列内のすべての個別の値を選択できます。
SELECT DISTINCT column_name FROM table_name;
SELECT column_name FROM table_name GROUP BY column_name;
しかし、そのクエリから行数を取得するにはどうすればよいでしょうか? サブクエリは必要ですか?
集計関数DISTINCT
内でキーワードを使用できます。COUNT
SELECT COUNT(DISTINCT column_name) AS some_alias FROM table_name
これにより、その列の個別の値のみがカウントされます。
これにより、個別の列値と各値の数の両方が得られます。私は通常、両方の情報を知りたいと思っています。
SELECT [columnName], count([columnName]) AS CountOf
FROM [tableName]
GROUP BY [columnName]
Count() は null 値を無視することに注意してください。そのため、null を独自の値として許可する必要がある場合は、次のようなトリッキーなことを行うことができます。
select count(distinct my_col)
+ count(distinct Case when my_col is null then 1 else null end)
from my_table
/
column_name の一意の値の sql 合計で、頻度で並べ替えられます。
SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name ORDER BY 2 DESC;
SELECT COUNT(DISTINCT column_name) FROM table as column_name_count;
その個別の列を数えてから、エイリアスを付ける必要があります。
select count(*) from
(
SELECT distinct column1,column2,column3,column4 FROM abcd
) T
これにより、列の個別のグループの数が得られます。
select Count(distinct columnName) as columnNameCount from tableName
Count(distinct({fieldname})) は冗長です
Count({fieldname}) だけで、そのテーブル内のすべての個別の値が得られます。(多くの人が推測するように)テーブルのカウントを提供するだけではありません[つまり、テーブルからのカウント(*)と同じではありません]