从下表中我想得到的结果是每个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
答案 0 :(得分:2)
尝试这种方式:
select emp_id,count(1) as Attempt_Count
from tab
group by emp_id
答案 1 :(得分:2)
如果我理解你的问题,可以使用:
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.