Autor | Zpráva | ||
---|---|---|---|
Hessae Profil * |
#1 · Zasláno: 8. 8. 2011, 12:52:41
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 * |
#2 · Zasláno: 8. 8. 2011, 14:47:38
select user, max(`time`) posledni from tabulka group by user |
||
Ofi Profil |
#3 · Zasláno: 10. 8. 2011, 21:34:25
čas ukládej nejlépe jako timestamp, pak můžeš použít:
select * from tabulka order by time desc limit 1 |
||
Kajman_ Profil * |
#4 · Zasláno: 11. 8. 2011, 00:01:17
Ofi:
Ale takhle přeci nedostane řádek pro každého uživatele, jak si přeje. |
||
joe Profil |
#5 · Zasláno: 11. 8. 2011, 01:47:06 · Upravil/a: joe
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 |
#6 · Zasláno: 11. 8. 2011, 07:27:03
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... |
||
Časová prodleva: 13 let
|
0