2013-07-30 39 views
0

從下面的表我想在結果什麼嘗試每個EMP_ID得到值「1」從外地最大嘗試數

Emp_ID | Value 
167 | 0 
175 | 0 
175 | 1 
167 | 0 
188 | 0 
188 | 0 
167 | 1 
216 | 1 
188 | 1 
217 | 0 

輸出應該是這樣的:

Emp_ID | Attempt_Count 
167 | 3 
175 | 2 
188 | 3 
216 | 1 
217 | 0 

回答

2

如果我正確理解你的問題,你腠ld使用:

SELECT 
    Emp_Id, 
    CASE WHEN MAX(Value)>0 THEN COUNT(*) ELSE 0 END Attempt_Count 
FROM 
    tablename 
GROUP BY 
    Emp_Id 

請參閱小提琴here。如果至少有一個值大於0,則此查詢將返回每個Emp_Id的總行數。否則它將返回0.

+0

+1 - 爲了好的答案 – Devart

2

試試這個方法:

select emp_id,count(1) as Attempt_Count 
from tab 
group by emp_id 
+0

不錯!!!!!!!!!!!! –

相關問題