2013-07-30 7 views
0

Dans le tableau ci-dessous, je veux que le résultat de ce que tenter l'chaque emp_id obtenir la valeur « 1 » du champ valeurtentatives Max comptent

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

La production devrait ressembler à ceci:

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

Répondre

2

Si je comprends bien votre question, vous COU ld utiliser ceci:

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

Veuillez voir le violon here. Cette requête renverra le nombre total de lignes pour chaque Emp_Id, s'il y a au moins une valeur supérieure à 0. Sinon, il retournera 0.

+0

+1 - pour la bonne réponse – Devart

2

Essayez de cette façon:

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

nice !!!!!!!!!!!! –