Autor | Zpráva | ||
---|---|---|---|
Alastor_Kopal Profil |
MySQL_Query("SELECT * FROM gb WHERE misto=1 ORDER BY cas,id ASC LIMIT 4"); kdybych kupříkladu měl v této databázi 5 přízpěvků potřebuji aby mi je mysql dotaz vyhodil v tomto pořadí 5 4 3 2 jenže teď mi to vyhazuje 1 2 3 4 děkuji Moderátor Alphard: Titulek „SQL dotaz - jak na zobrazení ?“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší.
|
||
Alphard Profil |
#2 · Zasláno: 26. 4. 2010, 20:34:56
Jestliže chcete seřadit jedním směrem, omezit a pak seřadit obráceně, použijte poddotaz.
Pak už stačí vhodně kombinovat desc a asc. |
||
Alastor_Kopal Profil |
#3 · Zasláno: 26. 4. 2010, 20:42:16
to jsem nikdy nedělal jak to mám udělat ?
(SELECT * FROM gb WHERE misto=1 ORDER BY cas,id ASC LIMIT 4) ORDER BY DESC; ?? |
||
Kajman_ Profil * |
#4 · Zasláno: 26. 4. 2010, 21:07:31
SELECT * FROM gb WHERE misto=1 ORDER BY cas DESC, id DESC LIMIT 4 |
||
Alastor_Kopal Profil |
#5 · Zasláno: 26. 4. 2010, 21:35:29
Kurna prominte já se omlouvám zblbl jsem to Kajman mi napsal bezva dotaz ale já sem si neuvědomil že to potřebuji naopak
2 3 4 5 omlouvám se jak by vypadal dotaz na tohleto ? Pokoušel jsem se prohrazovat desca a acs ale nebylo to nic platné |
||
Kajman_ Profil * |
#6 · Zasláno: 27. 4. 2010, 09:10:17
select * from (SELECT * FROM gb WHERE misto=1 ORDER BY cas DESC, id DESC LIMIT 4) t order by cas, id |
||
Casper Profil |
#7 · Zasláno: 27. 4. 2010, 19:00:33
Dobrý den,
mohl by mi někdo prosím objasnit, oč jde v posledním příspěvku od [#6] Kajmana? Nechápu využití poddotazu namísto uvedení názvu tabulky. A co znamená ono "t" za poddotazem? Předem děkuji za vysvětlení dotazu, nepohrdnu ani nějakým linkem o podobném využívání poddotazů místo názvu tabulky. |
||
nightfish Profil |
#8 · Zasláno: 27. 4. 2010, 19:24:11
Casper:
„Nechápu využití poddotazu namísto uvedení názvu tabulky.“ Je to proto, že v poddotazu se vyberou nějaká data, seřadí se, a zároveň se oříznou LIMITem. My však chceme to řazení přesně opačně. Proto je použit poddotaz - v něm se vyberou data co potřebujeme, vnější dotaz pak zařídí správné seřazeni. "t" je pak alias poddotazu - v mySQL musí být v tomto případě poddotaz nějak pojmenován |
||
Casper Profil |
#9 · Zasláno: 27. 4. 2010, 20:23:47
Jinými slovy vnější dotaz pouze řadí data vybraná poddotazem, takže pokud to dobře chápu, SELECT nemusí tahat data vždy z nějaké databáze (tabulky), ale taktéž i z dat získaných poddotazem jako je tomu zde. Pokud se mýlím, opravte mne prosím.
Pojmenování bych právě očekával aliasem "AS", proto mě to zarazilo, děkuji za vysvětlení |
||
Časová prodleva: 14 let
|
0