Autor Zpráva
Hessae
Profil *
Dobrý den,

chtěl bych poprosit o radu. Mám tabulku kde jsou tři sloupce, id, user, time.

Je v ní vždy několik záznamů pro stejného usera, ale liší se časy. Potřebuji vybrat každého usera jen jednou, ale aby to byl vždy záznam s nejnovějším datem, přičemž datum je ve formátu: 23rd July 2011. Mohu so ho ale vyjet i v unix_time.

Moc děkuji pokud to dá někdo dohromady!

Jim
Kajman_
Profil *
select user, max(`time`) posledni from tabulka group by user
Ofi
Profil
čas ukládej nejlépe jako timestamp, pak můžeš použít:
select * from tabulka order by time desc limit 1
Kajman_
Profil *
Ofi:
Ale takhle přeci nedostane řádek pro každého uživatele, jak si přeje.
joe
Profil
Kajman:
Stejného výsledku by měl dosáhnout dotazem (bez seskupování):
SELECT DISTINCT user_id, ... FROM tabulka ORDER BY `time` DESC

nebo ne? :)


I když to asi nebude brát ten maximální čas, ale vezme to ten první od uživatele, na který narazí.
Ofi
Profil
Kajman:
Ale takhle přeci nedostane řádek pro každého uživatele, jak si přeje.
Vidiš, to jsem úplně přehlédl že to chtěl...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0