Limit "innerhalb" von Ergebnissen

codeforfun

Neuer Benutzer
Beiträge
1
Guten Abend,
ich habe folgende Abfrage

SELECT s.shop_name, SUM(i.amount) AS Summe, strftime('%m',i.date) AS month
FROM item i
LEFT JOIN shop s ON i.shop_id = s.id_shop

WHERE
i.shop_id != 0 AND

strftime('%m',i.date) BETWEEN (strftime('%m','now') - 2) AND strftime('%m','now')
GROUP BY s.shop_name, strftime('%m',i.date)
ORDER BY strftime('%m',i.date), Summe DESC


die folgendes Ergebnis liefert
Rewe 89.85 01
Netto 65.45 01
Markt 64.33 01
Bäcker 4.85 01
Penny 89.69 02
Rewe 45.78 02
Netto 12.99 02
Aleco 10.99 02
Netto 200 03
Rewe 137.56 03
Markt 34 03
Aleco 5 03


gewünscht wäre im Ergebnis eine Limitierung auf nur 3 Zeilen pro Monat, habe verschiedenes probiert und komme nicht weiter... kann jemand helfen?
Danke
 
Werbung:
Wenn ich Dich richtig verstehe suchstDu die Top N Rows per GROUP. Dazu könntest Du row_number() oder auch rank() bzw. dense_rank() verwenden, ich weiß aber nicht, ob SQLite das unterstützt.
 
Zurück
Oben