winscheil

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.
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 336291

Url: https://administrator.de/forum/sql-nur-daten-mit-niedrigster-id-ausgeben-336291.html

Ausgedruckt am: 02.05.2025 um 18:05 Uhr

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.