MIN, MAX postgresql

Hallo, ich habe folgendes Problem:

Aus der Tabelle Kaeufe mit:

Artikel, Kaeufer, Kaufzeit

Kaese, Peter, 3.5.00
Kaese, Klaus, 28.5.00
Kaese, Hans, 3.6.00
Milch, Klaus, 4.4.00
Milch, Peter, 28.5.00
Milch, Hans, 3.6.00

moechte ich das Produkt haben, das z.B. Peter zuerst oder zuletzt gekauft hat.

Fuer Peter waere das: Kaese
Fuer Klaus: Milch
Fuer Hans Kaese und Milch

Ich bin fuer jede Idee dankbar.
Gruss,
Christoph

moechte ich das Produkt haben, das z.B. Peter zuerst oder
zuletzt gekauft hat.

Ich bin fuer jede Idee dankbar.
Gruss,
Christoph

select kaeufer, artikelfrom kaeufe
group by kaeufer, artikel
having kaufzeit=max(kaufzeit) or kaufzeit=min(kaufzeit);

Achtung, das ist Standard-SQL (ich kenne PostrgresSQL nicht),
aber jede SQL-Datenbank sollte das verstehen.

Gruß

J.

Hi Christoph,

es ist sinnvoll, die dritte Spalte wirklich als Datumsspalte abzulegen, nicht als Textspalte. Dann sollte es so gehen:

select artikel from kaeufe
where name = ‚Peter‘ and
kaufzeit = (select max (kaufzeit)
from kaeufe
where name = ‚Peter‘);

Alles klar? Geht natürlich nur mit Datenbanken, die
Sub-Selects unterstützen. PostgreSQL gehört aber dazu.

Viele Grüße

[email protected]

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]