Auslesen der 10 häufigsten Vorkommen

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

  • Auslesen der 10 häufigsten Vorkommen

    Hallo zusammen,


    Ich möchte gerne aus einer Tabelle (aktuell ca. 45'000 Einträge) anhand der Werte in einer der Spalten, die 10 häufigsten in jener Spalte vorkommenden Werte ermitteln. Für diese Spalte gibt es ebenfalls etwa 1000 verschiedene Möglichkeiten (kann variieren), einzelne Counts (count(if...).. scheidet also aus.

    Klar, man könnte auch alle Zeilen auslesen, in ein Array schmeissen und die dann durch einen Gruppenwechsel jagen. Aber das kanns auch nicht wirklich sein.

    Ziel ist es, von den 10 häufigsten Vorkommen sowohl das Vorkommen selbst (ist eine Id aus einer anderen Tabelle - Verknüpfung dazu ist aber kein Problem) als auch die Anzahl derer zu bekommen. Das Ganz ist für eine Statistik gedacht.

    Anständige / schlaue Ansätze habe ich nicht wirklich, daher die Frage an euch. Gibts da überhaupt einen Weg das allein über die DB zu bekommen?


    Gruss

  • #2
    Auf Grund deiner mehr als dürren Beschreibung sehe ich erst mal nicht, wo das Problem liegen soll, bzw. was sich daran mittels GROUP BY, COUNT, ORDER BY und LIMIT nicht simpel bewerkstelligen lassen soll ...
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      SELECT COUNT(foo) as fooCount ... GROUP BY foo ORDER BY fooCount DESC LIMIT 10

      Meinst du so?

      Kommentar


      • #4
        Ich liebe deinen Charme, wahsaga.

        Danke für die Hinweise! Ich wusste nicht, dass sich Abfragen mit sich selbst 'referenzieren' lassen.

        Ein ...
        Code:
        SELECT 
         COUNT(channel) AS anzahl 
        FROM Comments
        GROUP BY channel 
        ORDER BY anzahl
        DESC LIMIT 10
        .. bringt mir das gewünschte Ergebnis.

        Kommentar

        Lädt...
        X