Autor Zpráva
ge0rge
Profil *
prosim o radu, jde patrne o trivialni pripad ale reseni nevidim
je dana tabulka

(jmeno),(datum)
jirka, 1.1.2000, nejake dalsi sloupce - data
jirka, 6.5.2005, nejake dalsi sloupce - data
jana, 12.3.2003, nejake dalsi sloupce - data
tereza, 6.9.1996, nejake dalsi sloupce - data
jirka, 7.2.2008, nejake dalsi sloupce - data
jana, 3.6.1999, nejake dalsi sloupce - data

jmen a k nim prirazenym ruznym casovym znackam ...
potrebuji z teto tabulky ziskat vypis ve kterem bude pro kazdeho uzivatele vzdy jen jeden radek a to podle sloupce s datumem ten nejnovejsi zaznam
jirka, 7.2.2008
jana, 12.3.2003
tereza, 6.9.1996


jak na to ? kombinace order by a group by mi potrebne vysledky nevraci
select jmeno, datum group by 'jmeno' order by 'datum' desc
Mastodont
Profil
select jmeno, max(datum) group by jmeno ??
ge0rge
Profil *
tim nedostanu v zaznamech ty adekvatni "dalsi sloupce - data" ktere mam ke jmenu a datu prirazena
ge0rge
Profil *
vykoumal jsem zatim jen tuhle hruzu ... funguje

select `temp`.* from (select `tabulka`.* from `srx_tabulka` as `tabulka` order by `kdy` desc) as `temp` group by jmeno
Kajman_
Profil *
Viz. faq
http://diskuse.jakpsatweb.cz/?action=vthread&forum=28&topic=37836
Nalezení řádků s maximální (minimální) hodnotou - pro každou kategorii najdi...
ge0rge
Profil *
diky kajmane, no takhle jsem to bohuzel vyresil taky ... :-) doufal jsem ze existuje lepsi reseni nez dalsi zanoreny select, kazdopadne dekuju, priste budu lepe hledat nez se zeptam .-)
Kajman_
Profil *
Poddotaz je někdy rychlejší a někdy pomalejší řešení. Obecně nelze tvrdit, že zanořený select je špatný. Pokud budete mít index (jmeno,datum) tak by rychlost neměla být zlá.
sysel
Profil
Promiňte, že píšu možná mimo mísu, ale připadá mi taúloha dost podobná hledání dupliciy (multiplicity) v jednom sloupci s podmínkou v jiném, to už se tu řešilo. :-\

Kajman_
Stvrzuji nutnost použíavat indexy! Snad ani nelze psát o rozdílu v potřebných časech, ale o podílu resp. zlomku času při porovnávání přes indexované sloupce.

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