Die Top 5 Elemente aus jeder Kategorie in MySQL zurückgeben
Herausforderung:
Das Top 5 Menü abrufen Elemente aus jeder Kategorie in einer Datenbank, die aus zwei Tabellen besteht, „menus“ und „menuitems“.
Lösung:
Der vorgestellte Code zielt darauf ab, die Top-5-Elemente anzuzeigen pro Menükategorie. Es wird jedoch ein Fehler zurückgegeben, da die Unterabfrage mehrere Zeilen abruft. Um dies zu beheben, können Variablen mit Nebeneffekten verwendet werden, um die Position jeder Zeile innerhalb der Kategorie zu verfolgen.
SELECT profilename, name FROM ( SELECT m.profilename, s.name, @r:=case when @g=m.profilename then @r+1 else 1 end r, @g:=m.profilename FROM (select @g:=null,@r:=0) n cross join menus m left join menuitems s on m.menuid = s.menuid ) X WHERE r <= 5
Aufschlüsselung:
Das obige ist der detaillierte Inhalt vonWie rufe ich die Top 5 Menüelemente aus jeder Kategorie in MySQL ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!