1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Limit "innerhalb" von Ergebnissen

Dieses Thema im Forum "SQLite" wurde erstellt von codeforfun, 6 März 2018.

  1. codeforfun

    codeforfun Neuer Benutzer

    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
     
  2. akretschmer

    akretschmer Datenbank-Guru

    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.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden