Ich habe hier eine Frage gestellt: /programming/43807566/how-to-divide-two-values-from-the-same-column-but-at-different-rows
Informationen zum Teilen von Werten aus derselben Tabelle in derselben Spalte, jedoch in verschiedenen Zeilen. Jetzt habe ich das Problem, wo ich mehr Zähler und Nenner (mit unterschiedlichen uns
) habe. Ist dies immer noch self join
ein guter Weg, um dieses Problem mit Postgres zu lösen, oder gibt es bessere Lösungen?
Beispiel:
| postcode | value | uns |
|----------|-------|-----|
| AA | 40 | 53 |
| BB | 20 | 53 |
| AA | 10 | 54 |
| AA | 20 | 55 |
| AA | 10 | 56 |
| AA | 30 | 57 |
| AA | 50 | 58 |
| BB | 10 | 54 |
| BB | 10 | 55 |
| BB | 70 | 56 |
| BB | 80 | 57 |
| BB | 10 | 58 |
Ergebnis sollte sein:
| postcode | formula |
|----------|------------|
| AA | 18.888... |
| BB | 14.375 |
Wo die Werte nach Postleitzahl gruppiert sind und die Formel lautet (Wert mit uns):
(V53 * V56 + V54 * V57 + V55 * V58) / (V56 + V57 + V58)
Achten Sie darauf, eine eventuelle Division durch Null zu vermeiden. Die Formel kann noch komplexer sein, aber das ist ein gutes Beispiel.
uns
zu Spaltennamen werden - von dort aus sollte jede Formel, die die Werte verwendet, funktionsfähig werden. Wird die Formel fest codiert oder irgendwie dynamisch abgeleitet?