Suche etwas ähnliches wie GROUP BY

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Suche etwas ähnliches wie GROUP BY

    Wenn ich folgenden Befehl ausführe, dann bekomme ich von jedem Eintrag in der Spalte aaa die Anzahl passend geliefert:
    Code:
    SELECT aaa, count(*) AS anzahl FROM  tabelle GROUP BY aaa
    In Spalte aaa seien nur Zahlenwerte drin. Jetzt möchte ich nicht für jeden Zahlenwert die dazugehörige Anzahl haben, sondern diese Zahlenwerte gruppieren, also sollen die Werte 0-20, 30-40 und 50 aufwärts jeweils eine Gruppe bilden, zu denen die Anzahl angezeigt werden soll. Gibt es in mysql eine Möglichkeit das umzusetzen oder soll ich lieber obiges Ergebnis mit PHP verarbeiten?

  • #2
    Eventuelle kannst du hier etwas ableiten:
    http://www.php-resource.de/forum/sho...threadid=88516
    (mist, eigentlich wollte ich noch nen Thread verlinken, der ist futsch)

    ansonsten mal ausprobieren

    GROUP BY if(aaa < 20,1,2)

    Wenn das geht, dann ausbauen...

    Ansonsten ein Fall für PHP.

    Kommentar


    • #3
      Falls deine Intervalle regelmässig sind, geht sowas wie:
      Code:
      SET @group := 20;
      SELECT 
          CONCAT(@a := (floor(var1 /@group) * @group), ' - ',  @a + (@group - 1)) von_bis, 
          count(*) anz
      FROM 
          tab1
      GROUP BY
          floor(var1 / @group)
      In diesem Beispiel ergibt das 20er Gruppen. In einem PHP-Script musst du natürlich die SQL-Variable (@group) durch eine PHP-Variable ersetzen
      Gruss
      H2O

      Kommentar

      Lädt...
      X