Autor Zpráva
miskith
Profil
Zdravím. Tentokrát bych potřeboval já pomoct. Pokud to vůbec jde, tak nemůžu přijít na to, jak udělat přes jeden Query více ORDER.

Prostě chci jeden Query ve kterým bude 3x select z tabulky TABULKA a pro každý z těchto selectů bude platit jiný ORDER (Jednou ORDER BY b pak ORDER BY c a pak ORDER BY D... Nevíte někdo? Děkuji.

PS: Pokud to nijak nejde, tak se omlouvám ;).
Joker
Profil
Pokud máte více SELECT dotazů a každému chcete dát jiné řazení, prostě napište do každého požadovanou ORDER BY klauzuli a je to.
Pokud chcete řadit jeden výsledek podle více sloupců, například podle sloupce "prvni" a pokud bude hodnota stejná, tak podle sloupce "druhy", je to: ORDER BY prvni, druhy
miskith
Profil
Viz nadpis. Já chci jeden Query a v něm aby byly 3 ,,výtažky" z tabulky(vždy té samé), kdy každý ,,výtažek" bude mít jiné řazení.

Příklad: Mám například tabulku s uživately a v ní sou sloupečky ,,IQ", ,,POSTS" , ,,SHOUT_MESS"...a já chci udělat tabulku, ve který budou vypsáni uživatelé co maj největší IQ, v dalším <td> ty co maj nejvíc postů atd... Normálně by to bylo úplně stupidní, ale já to chci udělat přes jeden Query.
_es
Profil
Asi potrebuješ použiť príkaz UNION.
Joker
Profil
miskith:
Já chci jeden Query a v něm aby byly 3 ,,výtažky" z tabulky(vždy té samé), kdy každý ,,výtažek" bude mít jiné řazení.
To jsou ovšem tři různé dotazy.
Sice se to dá zkombinovat, ale možná bych to radši udělal jako tři dotazy. Podle mě se jeden složitý bude hůř udržovat a je snadné se v tom zamotat natolik, že to nakonec bude trvat déle, než tři jednoduché dotazy.
miskith
Profil
Joker:
Ok..děkuji za radu. Já právě nevěděl nakolik to zpomalí/zrychlí web. Já se v těch rychlostech moc nevyznám, tak se držím toho, že čím méně dotazů, tím rychlejší.

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