1

Es gibt eine Transaktionstabelle und darin gibt es Spalten wie Transaktions-ID, Name und createdat. Es gibt mehrere Transaktionen für jeden Namen, deren createdat-Daten alle unterschiedlich sind.Wie Abfragen der letzten fünf Transaktionen pro Element in Sql

Ich möchte nach fünf letzten Transaktionen pro Name abfragen. Keine fünf letzten Transaktionen in der gesamten Tabelle. Für den Fall, dass es weniger als fünf Transaktionen hat, möchte ich nur zeigen, was dort ist.

Der Versuch, alle meine SQL-Kenntnisse zu sammeln, aber ich habe Schwierigkeiten damit. Jede Eingabe wird sehr geschätzt.

+1

Siehe hier: http://stackoverflow.com/questions/tagged/greatest-n-per-group+postgresql –

+1

@nazark Warum Sie es nicht als Post Antworten? –

+1

ok wird es tun, danke – nazark

Antwort

2

versuchen, diese Abfrage,

select * 
from ( 
    select *, row_number() OVER (PARTITION BY name ORDER BY createdat DESC) as rnk 
    FROM yourtable 
) t 
where rnk <=5 
+0

Vielen Dank. Funktioniert perfekt. – shle2821

Verwandte Themen