Hi,
SELECT DISTINCT id FROM table WHERE bedingung >= 2021 AND NOT EXISTS (SELECT DISTINCT id FROM table WHERE bedingung < 2021)
das würde dann auch die finden, deren erstes Vorkommen bei bedingung = 2022 ist.
Paßt nicht so ganz zu
die in einem Zeitraum X (bei mir "das Jahr 2021) zum ersten Mal vorkamen.
Ob das performant ist, muss man am konkreten Fall untersuchen.
Evtl. ist es performanter (das muß man aber ausprobieren), hier mit MINUS zu arbeiten. also
SELECT DISTINCT id FROM TABLE WHERE bedingung = 2021
MINUS
SELECT DISTINCT id FROM TABLE WHERE bedingung < 2021
Was performance-mäßig besser ist, hängt von den Indizes, der Tabellengröße, der Anzahl der Treffer für beide Teile, Häufigkeit der Abfrage usw. ab.
cu,
Andreas a/k/a MudGuard