2010-06-21 36 views
5

這裏是數據庫/ SQL新手。列出SQL中每個字段值的行數

我有一個名爲「EmployeeID」的列。我想要一個查詢,它將爲每個不同的employeeID返回具有該ID的行數。我希望我很清楚自己想要做什麼,並且有人會知道如何提供幫助!

我不認爲它應該的問題,但爲了以防萬一,我使用MS SQL Server 2008的

+0

的回答來看,很多人使用DISTINCT。在這種情況下使用它有什麼優勢嗎?速度更快嗎? – 2010-06-21 17:47:48

+0

@David只有一個答案使用「DISTINCT」,因爲查詢的語義意味着每個Employee只有一行將被返回,所以它不是必需的。 – 2010-06-21 17:53:54

+0

我知道DISTINCT的意思。我的觀點是這樣的:當不需要時它不會產生無用的計算來使用DISTINCT。 當我評論時,有2如果不是3回答與DISINCT。看起來像一些自修改。 – 2010-06-21 18:14:01

回答

12

簡單的SQL

select EmployeeId,count(*) 
from YourTable 
Group by EmployeeId 
+1

完美!我不知道「group by」關鍵字。謝謝您的幫助。 – 2010-06-21 17:47:37

+0

純代碼謝謝 – ROR 2015-01-01 08:04:26

+0

@ josephj1989顯示其餘字段的內容。例如,來自YourTable的select *,EmployeeId,count(*) EmployeeId的Group – 2015-06-16 15:46:00

2

這應該做的伎倆:

SELECT employeeID, COUNT(employeeID) FROM Employees GROUP BY employeeID 
4

用途:

SELECT t.employeeid, 
     COUNT(*) AS num_instances 
    FROM TABLE t 
GROUP BY t.employeeid 

ç OUNT是一個聚合函數,它需要使用GROUP BY子句。

2
select count(*) AS RowCount, EmployeeID 
FROM table 
GROUP BY EmployeeID 
-1
SELECT DISTINCT employeeID, 
COUNT(employeeID) AS [Count] 
FROM Employees 
GROUP BY employeeID 
+0

當按值分組時,不需要DISTINCT。 – 2010-06-21 17:46:19

相關問題