2012-02-20 117 views
1

嗨,我需要查詢SQL查詢分組

我有一個表,職位和員工有聯繫其稱爲EmployeeToJobsApplied

Id EmployeeId  JobsId  Applied  Viewed 
1   1    1   True  True 
2   1    2   False  True 
3   1    1   True  True 
4   1    3   True  True 

如果您發現有像在ID = 3的重複值有助於

我沒有創建數據庫結構。由於這是一個後期製作項目,所以我不能對錶格結構做過多的介紹。

我可以改變的是StoredProcedure可以從這張表中檢索信息。

所以,我需要的是申請的職位總量的一列事務所行值

所以基本上我根據這個例子需要的是獲得員工ID的

2申請的職位的價值= 1

我想忽略重複項。

謝謝!

請隨意編輯/重新標記

UPDATE 我需要的總結果, 我需要誰申請了具體工作的員工的總數(未上榜)。 我試過用count和i'ts不能相應地工作,因爲它也算不清楚的人。感謝您的親切幫助

+0

我沒有看到'ID重複任何3' = – 2012-02-20 09:35:17

+0

@JonEgerton - 他的意思是'ID = 3'has值爲'EmployeeID'和'JobsID'是'ID = 1'重複的 – Tony 2012-02-20 09:44:32

回答

2

如果您需要彙總計算不同的值,那麼你可以這樣寫:

select EmployeeId, count(distinct JobsId) as JobsApplied 
from EmployeeToJobsApplied 
where Applied = 1 
group by EmployeeId 
+0

這是完美的..我複製粘貼它,它的工作。謝謝... – 2012-02-20 10:40:00

1

使用distinct

select distinct * from tablename 
0

如果你不需要ID在結果集中,然後,它使用簡單,distinct類似:

SELECT distinct employeeid, JobsId, Applied, Viewed 
FROM EmployeeToJobsApplied 

此外,您可以使用WHERE子句刪除結果,其中Applied是假的:

WHERE Applied = true 
0
select distinct EmployeeId, JobsId from EmployeeToJobsApplied 

因爲您似乎並不關心應用程序撒了謊,我們列

select id,JobsId,Applied,Viewed from Emp 
group by id,JobsId 

爲不同的命中性能查看列

0

而是不同的,我們可以組。