簡體   English   中英

SQL:為另一列選擇不同的值

[英]SQL: Selecting distinct values for another column

我正在嘗試確定可以將一列中的多少個唯一值按另一列中的值進行分組。

我的工作表中有很多列,但我感興趣的列是:“部門”和“用戶”

對於這兩列的數據如何,有相同部門的重復用戶。

例如。

Department    User

Insights      Mike

Insights      Mike

Insights      Chris

Market        Julie

Research      Will

Research      Sabrina

Research      Bryan

我想要的是以下內容:

Department    DistinctUsers

Insights       2

Market         1

Research       3

我的基本SQL知識告訴我這是代碼的結構:

SELECT department, COUNT(DISTINCT user) 
FROM Sheet1
GROUP BY department, user

我已經看到人們會在FROM子句中實現(SELECT DISTINCT User from Sheet1)中的(SELECT DISTINCT User from Sheet1) ,但是我未能將其集成到代碼中。

任何建議或提示,不勝感激!

謝謝!

如評論中所述,您只需要將用戶從組中刪除。

SELECT 
   department, 
   COUNT(DISTINCT [user]) as CT
FROM Sheet1
GROUP BY department

訪問

SELECT
   department,
   count([user])
FROM
   (SELECT DISTINCT department, [user] from Sheet1) as x
GROUP BY
   department

您的代碼即可完成工作,但無需按用戶分組

BEGIN TRAN

CREATE TABLE #TMP (Department  NVARCHAR(50),Name NVARCHAR(50))

INSERT INTO #TMP
SELECT 'Insights', 'Mike' UNION ALL

SELECT 'Insights','Mike' UNION ALL

SELECT 'Insights','Chris'UNION ALL

SELECT 'Market'   ,'Julie' UNION ALL

SELECT 'Research',  'Will'UNION ALL

SELECT  'Research', 'Sabrina'UNION ALL

SELECT  'Research','Bryan'

SELECT * FROM #TMP

SELECT department, COUNT(DISTINCT NAME) 
FROM #TMP
GROUP BY department

ROLLBACK TRAN

暫無
暫無

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

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