I Tabelle Timings genannt, wo wir 1 Million Antwortzeiten für Lasttests speichern, jetzt müssen wir diese Daten in 100 Gruppen einzuteilen, dh - erste 500 Datensätze als eine Gruppe und so weiter, und berechnen Perzentil jeder Gruppe, anstatt Durchschnitt.wie Perzentil in Postgres berechnen
bisher habe ich versucht, diese Abfrage
Select quartile
, avg(data)
, max(data)
FROM (
SELECT data
, ntile(500) over (order by data) as quartile
FROM data
) x
GROUP BY quartile
ORDER BY quartile
aber wie habe ich das Perzentil finden
Jede Gruppe enthält 500 Datensätze, da es 100 Gruppen geben würde ... also wird ntile automatisch das Perzentil berechnen? für jede Gruppe? – lampdev
Nicht sicher, was Sie unter "jede Gruppe enthält 500 Datensätze" verstehen. Welche Gruppen? Alle Ihre Daten befinden sich in der 'data' Tabelle. 'ntile (100)' auf diesen Daten werden die Daten in 100 Gruppen einteilen, jedoch werden viele Zeilen dies sein. Und so würde man das Perzentil für jede gegebene Datenmenge berechnen. Wenn Sie es zuerst in 500 Gruppen aufgeteilt haben, dann ist das kein Perzentil mehr ... – khampson
Wir müssen ein Perzentildiagramm zeichnen, das von asc zu desc order geht. Tabelle enthält 50.000 Timings, jetzt müssen wir diese 50.000 Timings in teilen Gruppen und berechnen Perzentil für jede Gruppe, ich bin etwas verwirrt darüber. oder wie können wir dies erreichen – lampdev