從下面的表我想在結果什麼嘗試每個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
從下面的表我想在結果什麼嘗試每個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
如果我正確理解你的問題,你腠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.
試試這個方法:
select emp_id,count(1) as Attempt_Count
from tab
group by emp_id
不錯!!!!!!!!!!!! –
+1 - 爲了好的答案 – Devart