![](/img/trans.png)
[英]In standard SQL, how do I select rows such that for each unique value in one column, all of the values in another column are a specified value?
[英]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
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.