繁体   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