Eigentlich habe ich Verständnis dafür, wie PERCENTILE_CONT funktioniert, aber ich bekomme ein anderes Ergebnis durch Perzentilen per Hand berechnen und durch Aufruf einer Funktion. Hier ist der Datensatz:SQL. Unerwartetes Ergebnis des Aufrufs von PERCENTILE_CONT Funktion
305.7884804
350
373.3728865
384.2094838
410.8603441
414.9842786
455.3545205
550
zu 25% berechnen ich resümieren 350
und 373.3728865
und dann teilen sie durch 2. Das Ergebnis ist 361.68644325
.
Um 50% zu berechnen, summiere ich und 410.8603441
und dividiere es dann durch 2. Und das Ergebnis ist 397.53491395
.
Um 75% zu berechnen, summiere ich 414.9842786
und 455.3545205
und dann dividiere es durch 2. Und das Ergebnis ist 435.16939955
.
Allerdings, wenn ich diese SQL ausführen:
select
percentile_cont(0.25) within group(order by YEAR_2_FTE ASC),
percentile_cont(0.5) within group(order by YEAR_2_FTE ASC),
percentile_cont(0.75) within group(order by YEAR_2_FTE ASC) from sr_database
where firm_id=999;
ich ein solches Ergebnis:
25%: 367,529664875
50%: 397,53491395
75%: 425,076839075
Was bin ich falsch singen?
Vielen Dank für die Erklärung. Soweit ich weiß, gibt es keine eingebaute Funktion, die so funktioniert, wie ich es erwartet habe. PERCENTILE_DISC arbeitet mit diskreten Daten. –
Denken Sie, dass die Absicht, die Mittelwerte für das 25. und 75. Perzentil zu verwenden, fehlerhaft ist. Um das zu verstehen, sehen Sie bitte, ob Sie eine Formel für das * n * -te Perzentil erstellen können, während Sie daran arbeiten, wobei * n * eine beliebige Zahl zwischen 0 und 100 sein kann ... –
Update: Haben Sie eine Illustration hinzugefügt die Antwort, um dies hoffentlich klarer zu machen. –