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
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
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 *
SELECT * FROM gb WHERE misto=1 ORDER BY cas DESC, id DESC LIMIT 4
Alastor_Kopal
Profil
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 *
select * from
  (SELECT * FROM gb WHERE misto=1 ORDER BY cas DESC, id DESC LIMIT 4) t
order by cas, id
Casper
Profil
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
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
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í

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