Autor Zpráva
Johnik
Profil
Ahoj,
po čase jsem narazil na problém: Potřebuji vybrat z databáze vybrat všechny záznamy z tabulky, kde se vykytuje nějaké slovo. Záznamy v tabulce při editaci uložím s vyšším časem ale stejným id_category - nepřepisuju tedy ty staré ani je nemažu. Klasický výpis záznamu pak provádím srovnáním podle času a limit 1.
Problém ale je, že když je chci hledat podle toho slova, tak mi to vybere všechny záznamy, tedy i ty již neaktuální.

Lze nějak na úrovni sql napsat podmínka aby záznamy vybral podle slova, ty se stejným id_category srovnal podle času a z nich vybral jen poslední?

Děkuji
123456789
Profil *
Pokud to dobře chápu, tak by mělo pomoct něco podobného:

...WHERE [podmínka dle slova] AND cas = (select max(cas) FROM [ta stejna
tabulka] AS t GROUP BY category_id HAVING t.category_id=[puvodni_tabulka].category_id);

Prostě korelovaný poddotaz.
123456789
Profil *
...LIMIT 0,1;
Kajman_
Profil *
Nebo si upravit příklad "nejvyšší cena pro danou kategorii", mohlo by to být rychlejší.
Johnik
Profil
Děkuji oběma, problém vyřešen.

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