Ich versuche, die folgende Abfrage zu schreiben, um eine Anzahl von Zeilen nach Gruppe zu erhalten.Zeilenanzahl nach Gruppe
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
Das Ergebnis zurückgegeben wird:
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
Die Ergebnismenge I ist zurück bin versucht:
429 | 1 | 1
429 | 3 | 2
429 | 3 | 2
1420 | 1 | 1
1420 | 3 | 2
1420 | 3 | 2
1537 | 2 | 1
1537 | 2 | 1
Können Sie etwas genauer hinzufügen, warum Sie die beobachteten Werte für falsch halten und warum das erwartete Ergebnis Ihrer Meinung nach korrekt ist? – John
@John - das OP "denkt" nicht das "erwartete Ergebnis" ist korrekt; er sagt uns, dass das "erwartete Ergebnis" das ** erforderliche ** Ergebnis ist. – mathguy
Ich schätze das Feedback. Wie mathguy sagte, sind die erwarteten Ergebnisse erforderlich und sie sind korrekt. Ich versuche, die Zeilen zu zählen, ändere aber nur den Wert, wenn cov_option und Mitarbeiter sich ändern. – Daniel