![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 19.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Mam następującą tabelę w bazie danych:
--id--punkty--rok--lista-- Jak napisać zapytanie, które wybierze mi niepowtarzające się rekordy (niepowtarzające pod względem id), ale w taki sposób, że dla danego id pozostawi (wyświetli) rekord o największej wartości pola rok. Przykładowo mam: --2--20--2013--Y --2--25--2014--Z --2--15--2012--Z --3--10--2011--Z --3--12--2012--S jako wynik zapytania chciałbym uzyskać: --2--25--2014--Z --3--12--2012--S |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 1 Dołączył: 20.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował tenloginjestzajety 19.01.2015, 22:48:34 -------------------- Nigdy nie zapominam kliknąć "pomógł". Zastosowanie na stronie [prosze nie spamuj]
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 19.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Chyba nie rozumiem albo nadal coś robię nie tak, bo jako wynik uzyskałem tylko listę id'ików (oczywiście bez duplikatów), ale nie wiem czy select wybrał mi tutaj akurat ten rekord o największym roku dla danego id
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
SELECT * FROM tabela WHERE (id, rok) IN (SELECT id, Max(rok) FROM tabela GROUP BY id)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 19.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki, to jest dokładnie to o co mi chodziło
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 13:35 |