簡體   English   中英

SQL Server:獲取大視圖中每列的獨特計數

[英]SQL Server : Getting distinct count on every column in a large view

我有一個龐大的SQL Server 2012數據庫,其中包含一些我需要分析的視圖。

我想知道的每個視圖是視圖中每列的唯一值的數量。 我找不到任何會給我這個的腳本。

所以輸入應該是視圖名稱,輸出將是兩行,如:

Column         Uniques
accountid      200
accountname    178
numberofemp     23
telephone      154
notusedyet       0

您需要使用帶有Distinct的 COUNT()聚合函數 )來僅計算唯一值。

SELECT  [column], COUNT(DISTINCT value) [Uniques]
FROM    tableName
GROUP   BY [column]

通過count(distinct [ColA])為每個列計算您想要計數的每個列的不同計數(沒有group by )。 然后,您可以將其取消以獲得所需的表格格式。 這是一個例子:

;with DistinctColumnCount( Id, Description )
as
(
    select
        count(distinct Id) Id
        , count(distinct Description) Description
    from
        EntityB
)

SELECT CountColumn, [Count].[DistinctCount]
FROM 
    DistinctColumnCount
unpivot
    ( DistinctCount for CountColumn in ( Id, [Description] ) ) as [Count]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM