SQL - podzapytanie i szukanie min

0

Witam na forum.
To jest moje pierwsze pytanie na forum więc nie śmiejcie się gdy będę głupio pisał bo zaczynam uczyć się sql i jestem lamerem.

A więc mam tabelę osoby
**id_osoby, data_poczatkowa, data_koncowa, imie, nazwisko ** żadne pole nie jest unikalne klucz jest złożony z id i data_poczatkowa.
id_osoby data_poczatkowa data_koncowa imie nazwisko
10 2015-01-01 2015-01-31 Jan Kowalski
10 2015-02-01 2015-02-28 Jan Kowalski
10 2015-03-01 2015-03-31 Jan Kowalski
15 2015-01-02 2015-01-31 Piotr Nowak
15 2015-02-02 2015-02-28 Piotr Nowak
15 2015-03-02 2015-03-31 Piotr Nowak

Jak skonstruować zapytanie by wybrać rekordy gdzie dla każdej osoby zostanie wybrany rekord z najwcześniejszą datą początkową i wynik był następujący:
10 2015-01-01 2015-01-31 Jan Kowalski
15 2015-01-01 2015-01-31 Piotr Nowak

Dziękuję i pozdrawiam,

3

No przecież napisałeś, co jest kluczem, więc się nim posłuż... Np. tak

SELECT * FROM osoby WHERE (id, data_poczatkowa) IN (SELECT id, min(data_poczatkowa) FROM osoby GROUP by id)

Lub bardziej po SQL-owemu:

SELECT osoby.* FROM osoby JOIN (SELECT id, min(data_poczatkowa) data_poczatkowa FROM osoby GROUP BY id) X on X.id=osoby.id AND X.data_poczatkowa=osoby.data_poczatkowa
0

Dzięki Marcinie o to mi chodziło.

1 użytkowników online, w tym zalogowanych: 0, gości: 1