winscheil
Goto Top

SQL - nur Daten mit niedrigster ID ausgeben

Hallo, ich habe folgende Tabelle:

Projekt ID Notiz
12 1 abc
12 2 xyz
13 6 grt
13 8 lkt
15 3 dfg
15 4 rtz

Ich möchte immer nur die Notiz mit der niedrigsten ID von jedem Projekt ausgeben.
Also am Ende soll es so ausgegeben werden:
Projekt ID Notiz
12 1 abc
13 6 grt
15 3 dfg

Wie kann ich das machen?
Mit Top 1, distinct und min(id) hat es nicht funktioniert.

Content-Key: 336291

Url: https://administrator.de/contentid/336291

Ausgedruckt am: 19.03.2024 um 07:03 Uhr

Mitglied: Apophis
Lösung Apophis 27.04.2017 um 14:52:55 Uhr
Goto Top
Die Lösung heisst Gruppieren in einer Unterabfrage

SELECT T.Projekt,T.ID,T.Notiz
FROM Tabelle AS T
WHERE T.ID IN (SELECT Min(tbl.ID) FROM Tabelle AS tbl GROUP BY tbl.Projekt)

(ungetestet, geht bestimmt noch eleganter)

Gruß
Apophis

P.S. Ich seh gerade: das geht nur, wenn die ID eindeutig ist. Wenn doppelte IDs vorkommen können, muss man noch etwas basteln.