Klaus Mock: Prozentberechnung im MYSQL-Statement

Beitrag lesen

Hallo,

Die Felder werden in einer Schleife abgefragt. Die Prozentzahl wie beschrieben innerhalb der Schleife berechnet.

Zuvor wird bereits ein select mit sum auf die Felder gemacht, dass ich entsprechend die Summenfelder habe und damit die Prozente ausrechnen kann... Möchte ich nun nach Prozenten sortieren dann funktioniert das nicht, da das Feld ja immer berechnet wird und nicht aus der DB stammt. Nach Feld1, Feld2 oder Gesamt zu sortieren ist kein Thema, aber die kommen ja auch aus der DB...

$prozent = $gesamt *100 / $sumgesamt;

Soweit ich das sehen kann, ist für eine konkrete Abfrage $sumgesamt eine Konstante, egal wie Du sortierst. Wenn Du also nach $prozent sortieren willst, dann kannst Du auch nach $gesamt sortieren, das sich die beiden anderen Operanden in dieser Berechnung nicht ändern.

alternativ könntest Du auch das Ergebnis des ersten SQL-Statements hernehmen und im zweiten verwenden.
Es würde zwar auch noch die Möglichkeit bestehen, mit Subselects zu arbeiten. Dagegen spricht aber IMHO erstens, daß nicht in jede Datenbank mit Subseletcs umgehen kann, und zweitens daß es potentiell unperformant sein wird.

Grüße
  Klaus