Autor Zpráva
Taps
Profil
Zdravím, mám níže uvedený dotaz
SELECT tour_title,DATE_FORMAT(term_start,'%d.%m.%Y') as zacatek,DATE_FORMAT(term_end,'%d.%m.%Y') as konec FROM zajezdy WHERE term_start>=NOW() AND term_end>=NOW() ORDER BY term_start ASC LIMIT 0,10

Problém mám však v tom, že pokud zvolím LIMIT 1,10, tak se mi příspěvky na stránce neřadí správně. Mohl by mi prosím někdo poradit, kde by mohl být problém.
LIMIT 0,10

LIMIT 1,10


Děkuji
juriad
Profil
Taps:
Ony jsou seřazené správně. Všimni si, že jejich začátek je neklesající. Ty očekáváš, že řazení vydá vždy stejný výsledek v případě shody začátků, což není pravda. Přidej sekundární nebo terciární kritérium:
ORDER BY term_start ASC, term_end ASC, id ASC
Vždy se snaž napsat ORDER BY tak, žádné dva záznamy nebyly z pohledu řazení ekvivalentní V ukázce Manchester a Real Madrid mají stejné datumy - 31.3. a 3.4., proto je nutné přidat i řazení podle ID (nebo title, to je na tobě), které zařídí, že jeden bude vždy před druhým.
Taps
Profil
juriad:
upravil jsem to na
SELECT tour_title,DATE_FORMAT(term_start,'%d.%m.%Y') as zacatek,DATE_FORMAT(term_end,'%d.%m.%Y') as konec FROM zajezdy WHERE term_start>=NOW() AND term_end>=NOW() 
ORDER BY term_start ASC, term_end ASC, tour_id ASC 
ale problém stále přetrvává.
Kajman
Profil
Taps:
Ukaž vypsaná data, včetně tour_id.

A nechceš náhodou přeskočit prvních 10 záznamů místo jednoho?
limit 10, 10
Taps
Profil
Kajman:
Máš pravdu, toto byla opravdu hodně hloupá chyba. Děkuji juriad, Kajman

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