Problem bei einer sql abfrage

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

  • Problem bei einer sql abfrage

    Also zunächst hab ich mehrere Datensätze in einer tabelle
    und möchte daraus eine Topliste erstellen in der die User mit den
    meisten einträgen ganz oben stehen.

    Der Name des Users wird in der tabelle unter "autor" eingetragen.
    Es wird aber nicht gezählt wieviele einträge der hat.

    Hab mir folgendes überlegt:

    PHP-Code:
    SELECT
            COUNT
    (autor) AS anzahlautor
             FROM lyric ORDER BY autor DESC LIMIT 30 
    Problem Es funktioniert nicht

    Ausgegeben soll es irgendwie so werden:

    PHP-Code:
     print ("<table border=0>
                  <tr>
                  <td width='50'><b>Rang</b></td>
                  <td width='220'><b>User</b></td>
                  <td width='50'><b>Anzahl</b></td>
                  </tr>"
    );

        while (
    $articleDb =mysql_fetch_object($result_articles))
       {
             print(
    "
                     <tr>
                     <td width='220'>Was hier reinmuss weiß ich auch noch net </td>
                     <td width='120'>
    $articleDb->autor</td>
                     <td width='50'>
    $articleDb->anzahl</td>
                     </tr>
                   "
    );
        }

        print (
    '</table>'); 
    Danke für eure hilfe

  • #2
    wenn dann willst du doch nach der Anzahl sortieren

    SELECT
    COUNT(autor) AS anzahl, autor
    FROM lyric
    ORDER BY [color=red]anzahl[/color] DESC
    LIMIT 30
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      meines erachtens nach, darfs du keine befehle wie count,sum.. mit spalten kombinieren ohne group funktion..
      meine Projekte bestaunen: http://www.kleiza.de

      Kommentar


      • #4
        Genau das sind nämlich Aggregatfunktionen:

        SELECT COUNT(autor) AS anzahl, autor FROM lyric GROUP BY autor ORDER BY autor DESC LIMIT 30

        oder:

        SELECT COUNT(autor) AS anzahl, autor FROM lyric GROUP BY autor ORDER BY anzahl DESC LIMIT 30

        wie auch immer du die Sortierung haben willst!
        carpe noctem

        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

        Kommentar


        • #5
          Dankeschön,
          ich hab das Problem mit eurer Hilfe gelöst

          Kommentar

          Lädt...
          X