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

Printed on: April 23, 2024 at 10:04 o'clock

Member: Apophis
Solution Apophis Apr 27, 2017 at 12:52:55 (UTC)
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.