sortierung

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

  • sortierung

    ich hoffe es kann mir jemand helden, ich komme leider nicht weiter, da ich noch nicht so erfahren in php und der abfrage von datenbanken bin.

    ich habe eine tabelle mit drei feldern :

    id, user, geworben.

    in dem geworben feld steht der name von dem user dem er beworben hat.

    jetzt möchte ich die datenbank auslesen und nach höhe nach max. geworben sortieren und es sollte der user, wie oft beworben und alle user anzeigen von wem:

    so in etwa :


    mitliedA wurde 5 mal geworben von mitglied2, mitglied12,mitglied21,mitglied52,mitglied62,
    mitliedB wurde 4 mal geworben von mitglied112, mitglied2,mitglied213,mitglied52
    mitliedC wurde 3 mal geworben von mitglied42, mitglied162,mitglied216
    mitliedD wurde 2 mal geworben von mitglied82, mitglied182
    usw.

    ich habe schon eine abfrage gemacht, allerdings zeigt sie mir nur wer und wie oft er beworben wurde, es fehlt vom wem alles?


    $abfrage = "SELECT username,geworben, count(geworben) AS anzahl FROM osdate_user GROUP BY geworben ORDER BY anzahl DESC
    ";
    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
    {

    echo $row->geworben;
    echo $row->anzahl."<br>";

    }

    kann mir jemand den select hier posten !

    danke

  • #2
    das wäre ja dann quasi ne drei-dimensionale tabelle und sowas gibts soweit ich weiß (noch) nicht in mysql. .... oder vielleicht doch? CONCAT_WS(',', (SELECT blah)) ??

    ich würd da zwei abfragen machen und das dann mit php zusammenfriemeln.
    nicht alles, was nass ist, kann fliegen

    Kommentar


    • #3
      join auf die gleiche tabelle müsste auch gehen

      Kommentar


      • #4
        Beim Gruppieren werden immer alle Werte aus einem Feld zu einem Wert zusammengefasst, i.d.R ist es der Inhalt des ersten gefundenen Datensatzes.
        Man kann also nicht die Gesamtanzahl UND alle einzelnen user in einer Abfrage auslesen. Auch nicht mit einem JOIN auf die gleiche Tabelle.
        Hier würde genauso die Gruppierung wirken.

        Mach zwei Abfragen draus.
        Die zehn Gebote sind deswegen so kurz und logisch, weil sie ohne Mitwirkung von Juristen zustande gekommen sind. (Charles de Gaulle)

        Kommentar

        Lädt...
        X