tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
9
ZUGRIFFE
874
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    tim-pong tim-pong ist offline Mitglied Silber
    Registriert seit
    Feb 2004
    Beiträge
    52
    Hallo ihr Pros,

    Wie kann man die Daten einer MySQL-Anweisung nach Menge der gleichen Values sortieren! Sprich: Ich lese die komplette Tabelle aus und erstelle dann eine TopList nach der Menge wie oft ein gleicher Wert in einem Feld vorkommt. Vielen Danke für eure Hilfe!

    Tim
     

  2. #2
    Registriert seit
    Jan 2004
    Beiträge
    1.072
    Code :
    1
    
    SELECT count(wert) as anz FROM tabelle GROUP BY wert ORDER BY anz desc
     

  3. #3
    tim-pong tim-pong ist offline Mitglied Silber
    Registriert seit
    Feb 2004
    Beiträge
    52
    Hm... das funktioniert nich! die einträge werden zwar gruppiert, aber nicht nach anzahl ihres vorkommens sortiert!
     

  4. #4
    Registriert seit
    Jan 2004
    Beiträge
    1.072
    Doch, das funktioniert schon. Wie schaut denn deine Tabelle aus, und was möchstest du gruppieren?
     

  5. #5
    tim-pong tim-pong ist offline Mitglied Silber
    Registriert seit
    Feb 2004
    Beiträge
    52
    Also... Ich habe eine Spalte mit der id und eine weitere Spalte mit dem namen "pic". Wenn jetzt ein User für ein Bild abstimmt, wird der ganzen Tabelle eine neue Zeile hinzugefügt und in "pic" wird der Pfad des Bildes abgespeichert, für das der User gestimmt hat.
    Jetzt kommt natürlich der Pfad des Bildes, für das die meisten User gestimmt haben, am meisten in der Tabelle vor, so dass ich eine MySQL-Anweisung brauche, die bestimmt, welcher Pfad am meisten vorkommt... Das wird dann mit Desc entsprechend sortiert und als TopList dargestellt!
     

  6. #6
    Registriert seit
    Jan 2004
    Beiträge
    1.072
    Code :
    1
    
    SELECT count(pfad) as anz, pfad FROM tabelle GROUP BY pfad ORDER BY anz DESC
    So würde es gehen, aber es ist wahnsinnig aufwendig. Warum legst du nicht einfach eine neue Spalte an, in der du zu jedem Pic die Anzahl der Aufrufe speicherst.
     

  7. #7
    tim-pong tim-pong ist offline Mitglied Silber
    Registriert seit
    Feb 2004
    Beiträge
    52
    weil ich dann ja jedes bild in die datenbank eintragen müsst, und so werden nur die Bilder eingetragen, für die auch gestimmt wurde...
     

  8. #8
    Registriert seit
    Jan 2004
    Beiträge
    1.072
    Und wenn für jedes Bild 1000 mal gestimmt wurde, dann hast du 1000 mal so viele Einträge wie sonst. Und du kannst die Bilder auch erst in die Datenbank schreiben, wenn jemand das erste mal für eins abstimmt.
     

  9. #9
    tim-pong tim-pong ist offline Mitglied Silber
    Registriert seit
    Feb 2004
    Beiträge
    52
    Stimmt... da hast du recht. Da müsste ich aber prüfen ob der eintrag schon vorhanden ist!
     

  10. #10
    Registriert seit
    Jan 2004
    Beiträge
    1.072
    PHP-Code:
    <?php
    $q 
    mysql_query('SELECT id FROM tabelle WHERE id = \''.$id.'\'');
    if(
    mysql_numrows($q))
        
    //update
    else
        
    //trag neu ein
    ?>
     

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 02.07.07, 21:31
  2. Antworten: 2
    Letzter Beitrag: 07.05.05, 22:26
  3. [mysql] Einträge sortieren
    Von nox im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 29.12.04, 12:24
  4. Einträge in XML-File nach Attributen sortieren
    Von scheibenwischer im Forum PHP
    Antworten: 0
    Letzter Beitrag: 10.06.04, 22:05
  5. MySQL einträge Sortieren
    Von BFreakout im Forum PHP
    Antworten: 2
    Letzter Beitrag: 01.06.04, 14:32