簡體   English   中英

SQL:如何檢查一列中的每個唯一值可以找到另一列的多少組合

[英]SQL: How to check for each unique value in one column how many combinations of another column can be found

在 SSMS 工作。 根據一列中的值,我想計算另一列中不同出現的次數。 我將如何 go 這樣做?

基本上對於第 1 列中的每個唯一值,可以找到第 2 列的多少種組合?

因此,如果表如下所示:

第 1 列 第 2 欄
一個 1
一個 1
一個 1
1
2
3
C 2
C 2
C 3

所需的 output 將是:

A = 1

B = 3

C = 2

在這種情況下使用COUNT(DISTINCT)GROUP BY

SELECT Col1, COUNT(DISTINCT Col2)
FROM YourTable
GROUP BY Col1

dbfiddle在這里

WITH CTE(Column1,Column2) AS
(

  SELECT 'A',   1 UNION ALL
  SELECT 'A' ,  1 UNION ALL
  SELECT 'A' ,  1 UNION ALL
  SELECT 'B' ,  1 UNION ALL
  SELECT 'B' ,  2 UNION ALL
  SELECT 'B' ,  3 UNION ALL
  SELECT 'C' ,  2 UNION ALL
  SELECT 'C' ,  2 UNION ALL
  SELECT 'C' ,  3
)
SELECT C.COLUMN1,COUNT(DISTINCT C.COLUMN2)CNTT
 FROM CTE AS C
 GROUP BY C.Column1

CTE 是您提供的示例。 請用您的表格替換對它的引用

暫無
暫無

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

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