Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Kleine Abänderung in der SQL abfrage

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Kleine Abänderung in der SQL abfrage

    Hallo zusammen,

    ich benutze zurzeit folgende SQL-Abfrage:

    $sql = "SELECT
    a_bewertung, max(a_bewertung) AS a_bewertung
    FROM artikel
    GROUP BY a_kategorie
    ORDER BY a_bewertung desc
    LIMIT 10
    ";


    Ich habbe eine Tabelle die sieht folgendermaßen aus:

    a_id | a_bewrtung | a_name | a_kategorie
    1 | 3 | name1 | Katze
    2 | 7 | name2 | Katze
    3 | 4 | name3 | Katze
    4 | 2 | name4 | Hund
    5 | 9 | name5 | Hund
    6 | 4 | name6 | Hund
    7 | 3 | name7 | Hund
    8 | 1 | name8 | Maus
    9 | 8 | name9 | Maus

    Mit meiner SQL Abfrage bezweke ich im Moment dieses Ergebnis...
    1 | 3 | name1 | Katze
    4 | 2 | name4 | Hund
    8 | 1 | name8 | Maus


    Er nimmt jewails von der Kategorie immer den ersten Eintrag und
    gibt mir diesen aus.


    Ich möchte mein Abfrage so abändern, dass ich jeweils immer
    von einer Kategorie z.B. Hund diese Zeile angezeigt bekomme
    mit den meisten Bewertungen...

    Also sollte mein Ergbnis folgendermaßen aussehen.
    2 | 7 | name2 | Katze
    5 | 9 | name5 | Hund
    9 | 8 | name9 | Maus


    PS: Sorry das ich einen neuen Theard aufgemacht habe, da ich den alten leider schon geschlossen hatte.


    Gruß Andreas


  • #2
    Such mal nach groupwise maximum.
    Meinungen, die ich geäußert habe, sind nicht notwendigerweise meine eigenen. Abweichungen von der deutschen Rechtschreibung unterliegen dem Urheberrecht, dürfen aber unter den Bedingungen von verwendet werden

    Kommentar


    • #3
      Hallo Andreas,

      so ein ähnliches Problem hatte ich gestern auch....

      ich habe bei mir diesen sql dazu verwendet:

      PHP-Code:
      select from (select from zahlen order by Datum desc) as zahlen_sub group by monat 
      Um das auf Deine Anforderung umzustricken, sollte der SQL so aussehen:

      PHP-Code:
      select from (select from artikel order by a_bewertung desc) as artikel_sub group by a_kategorie 
      Vielleicht hilfts ja....

      Grüße

      Micha
      PHP-Code:
      require_once("func_leo.php");
      if(
      leo()!= 0){echo "Noch ".leo()." Tage !";}
      else{echo 
      "Hallo Leo ! && Vatti = 3*";} 

      Kommentar


      • #4
        Danke für eure beiden hilfreichen Beiträge! Ich konnte mein Problem mit der zwieten Antwort sehr gut lößen.

        Danke Andreas

        Kommentar

        Lädt...
        X