Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Select bez duplikatów po kolumnie
Forum PHP.pl > Forum > Przedszkole
magnat88
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
tenloginjestzajety
  1. $query = mysql_query("SELECT DISTINCT `id` FROM `tabela` WHERE `kolumna`")

magnat88
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
mmmmmmm
SELECT * FROM tabela WHERE (id, rok) IN (SELECT id, Max(rok) FROM tabela GROUP BY id)
magnat88
Wielkie dzięki, to jest dokładnie to o co mi chodziło
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.