그룹별로 행 수를 얻기 위해 다음 쿼리를 작성하려고합니다.그룹 별 행 수
select
a.employee, a.cov_option,
count(a.cov_option) over (partition by a.cov_option order by a.employee) as row_num
from wilson.benefit a
inner join wilson.bncategory b
ON a.plan_type = b.plan_type and a.plan_option = b.plan_option
inner join wilson.bncovopt c
ON a.company = c.company and a.plan_code = c.plan_code and a.cov_option = c.coverage_opt
where
a.plan_type = 'HL' and
to_char(a.stop_date, 'yyyy-mm-dd') = '1700-01-01'
order by a.employee, a.cov_option
반환 된 결과 집합은 다음과 같습니다
는employee | cov_option |row_num
-------------|--------------|--------------
429 | 1 | 1
429 | 3 | 2
429 | 3 | 2
1420 | 1 | 2
1420 | 3 | 4
1420 | 3 | 4
1537 | 2 | 2
1537 | 2 | 2
내가 반환을 시도하고 결과 집합은 다음과 같습니다 당신이 원하는 것 무엇
429 | 1 | 1
429 | 3 | 2
429 | 3 | 2
1420 | 1 | 1
1420 | 3 | 2
1420 | 3 | 2
1537 | 2 | 1
1537 | 2 | 1
관찰 된 값이 왜 부정확하고 왜 예상 된 결과가 정확하다고 생각하는지 자세히 설명해 주실 수 있습니까? – John
@ 존 - OP는 "예상 된 결과"가 정확하다고 생각하지 않습니다. 그는 "예상 결과"가 ** 필수 ** 결과라고 우리에게 말하고 있습니다. – mathguy
의견에 감사드립니다. mathguy가 말했듯이 예상되는 결과가 필요하며 정확합니다. 행 수를 계산하려고 시도하지만 cov_option 및 employee가 변경 될 때만 값을 변경합니다. – Daniel