Der Schwabe: db ausgabe sortieren

hallo zusammen

habe folgendes problem:

ich lese aus einer db (mysql) eine tabelle aus, in der die felder name, zahl1, zahl2 stehen.
bei der ausgabe brauche ich eine weitere spalte in der der durchschnitt der db-felder zahl1 und zahl2
die wiederum absteigend sortiert ist
habe jetzt schon den ganzen tag damit verbracht und bekomme es nicht hin.
das ist mein db-aufruf:
"SELECT $name, sum($zahl1) num1 , sum($zahl2) num2, avg($num1 / $num2) neu FROM $table WHERE $datum GROUP BY $name ORDER BY neu DESC";
das soriert er schon nicht richtig (immer aufsteigend)

wenn ich es jetzt mit php ausgeben lassen will und es mit einer while-schleife in ein array pumpe
"while($put=@mysql_fetch_array($result)) {}"
muß ich das array sortieren und das bekomme ich nicht hin

kann mir da bitte jemand helfen
vielen dank im voraus

mfG Der Schwabe

  1. Hallo Schwabe,

    "SELECT $name, sum($zahl1) num1 , sum($zahl2) num2, avg($num1 / $num2) neu FROM $table WHERE $datum GROUP BY $name ORDER BY neu DESC";

    bin mir nicht sicher, ob man es in MySQL weglassen kann - nach ANSI muß der Alias einer Spalte mit "AS" abgetrennt werden, nur so kann Deine ORDER BY-Klausel erkennen, was zu ordnen ist. Sollte dann so aussehen:

    SELECT $name, sum($zahl1) AS num1 , sum($zahl2) AS num2, avg($num1 / $num2) AS neu
        FROM $table
        WHERE $datum
        GROUP BY $name
        ORDER BY neu DESC

    HTH Robert

    1. Hallo Robert

      super vielen dank das "as" wars

      SELECT $name, sum($zahl1) AS num1 , sum($zahl2) AS num2, avg($num1 / $num2) AS neu
          FROM $table
          WHERE $datum
          GROUP BY $name
          ORDER BY neu DESC

      jetzt funzt's

      mfG Der Schwabe

  2. Hallo.

    ohne es ausprobiert zu haben, aber spricht was gegen
    "...ORDER BY ( $num1/$num2 ) DESC";

    Grüße aus Würzburg
    Julian

    1. ohne es ausprobiert zu haben, aber spricht was gegen
      "...ORDER BY ( $num1/$num2 ) DESC";

      Hallo Julian,

      dagegen spricht, daß ORDER BY auf Spalten angewendet wird. Hinter der Klausel sind nur Spaltenbezeichner oder Ziffern (die die Spaltennummern angeben) erlaubt.

      Robert