Frank: Hilfe bei einer MySQL Query (Joins, Group By, Order By)

Beitrag lesen

Subquery Errors

Hier habe ich noch ein Workaround für das LIMIT Problem gefunden. Funktioniert leider auch nicht. Damit bekomme ich nur noch ein einziges Ergebnis:

  
SET @i = 0;  
  
SELECT  
 a1.artikel_id,  
 a1.group_id,  
 a1.artikel_name,  
 a1.artikel_preis  
FROM  
 artikel a1  
WHERE  
 artikel_preis IN (  
  SELECT  
   a2.artikel_preis  
  FROM  
   artikel a2  
  WHERE  
   a1.group_id = a2.group_id AND  
   (@i:=(@i+1)) <= 2  
  ORDER BY  
   a2.artikel_preis ASC  
  )  
ORDER BY  
 artikel_preis ASC;  

Und auch hier habe ich noch einen Fehler gefunden:

  
SELECT  
 a1.artikel_id,  
 a1.group_id,  
 a1.artikel_name,  
 a1.artikel_preis  
FROM  
 artikel a1  
WHERE  
 artikel_preis = (  
  SELECT  
   MIN(a2.artikel_preis)  
  FROM  
   artikel a2  
  WHERE  
   a1.group_id = a2.group_id  
 )  
ORDER BY  
 artikel_preis DESC  

Hier stimmt die Sortierung nach artikel_preis nicht:

artikel_id | group_id | artikel_name | artikel_preis
-----------+----------+--------------+--------------
7          | 2        | Radio D      | 20
10         | 3        | Toaster C    | 12
1          | 1        | Fernseher A  | 100