如何计算表的每列中的所有不同值

时间:2017-01-31 05:53:05

标签: sql distinct-values

我想创建一个满足以下条件的查询:

  1. 它计算每列的不同值的数量。
  2. 它选择具有最大数量的不同值的前三列。
  3. 它计算前三列的幂集中包含的不同值的数量。
  4. 这是我到目前为止所得到的:

    SELECT TOP(3) COUNT(DISTINCT column_name) AS some_alias FROM tablename 
        GROUP BY ~ ORDER BY count(*) asc
    

    我的查询有什么问题?

1 个答案:

答案 0 :(得分:0)

在子查询中使用不同的值,然后在select查询中使用count,如下所示。

SELECT columnName,
   COUNT(col1) AS Col,
   COUNT(col2) AS col2

FROM
(
    SELECT DISTINCT
           columnName,
           Col1,
           col2
    FROM table
)

GROUP BY columnName;