0

From the below table I want the result at what attempt the each Emp_ID get the value '1' from the field value

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

Output Should be like this:

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

2 回答 2

2

如果我正确理解你的问题,你可以使用这个:

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

在此处查看小提琴。如果至少有一个值大于 0,则此查询将返回每个 Emp_Id 的总行数。否则它将返回 0。

于 2013-07-30T13:40:11.963 回答
2

试试这个方法:

select emp_id,count(1) as Attempt_Count
from tab
group by emp_id
于 2013-07-30T13:33:13.330 回答