int order by asc, ale nula na konci

Zdeněk Böhm zdenek.bohm na gammarus.cz
Pátek Září 20 12:13:30 CEST 2002


> On Fri, Sep 20, 2002 at 09:40:38AM +0200, Vladimír Náprstek wrote:
> > Snad:
> > SELECT.... WHERE sloupec > 1 ORDER BY sloupes asc
> > UNION
> > SELECT to_same WHERE sloupec = 0
> >
> > ale nejsem si jist, jak se DB stroje postaví k tomu ORDER BY. navímc
např v dokumentaci k MySQL se píše "UNION is implemented in MySQL 4.0.0."...
>
> Hlavne Vam tohle nikterak nezarucuje, ze ta druha cast union bude jako
> druha na vystupu. Muze byt na zacatku, muze byt na konci a muze byt
> taky kdekoli mezi.

Diky za rady, ackoliv jsem z toho vyvodil, ze to vpodstate nejde. Me napadlo
jen jedno reseni,ale hned jsem ho zavrhl - spojoval jsem tu tabulku samu se
sebou a ruzne filtroval, ale vzhledem k tomu, ze uz tak byl ten dotaz v
realnem pripade dost slozity jsem to nerealizoval.
Radej si to necham vypsat jednoduse s 0 jako prvni, prvni zaznam si ulozim
nekam do pole, projdu zbytek a pak nakonec zpracuju to pole. Jen jsem se
ptal ze zvedavosti, kdyby to slo nejak jednoduse (v manualu jsem nic
nenasel).

Diky Zdenek Bohm

P.S. Jeste kdyz uz sem pisu bych se zeptal na jednu drobnost. Lze u funkce
Count() definovat podminku, kterych zaznamu se ma funkce tykat? Konkretne
pracuju s MySQL a v manualu o teto moznosti nic neni, ale na druhou stranu,
kdyz do selectu zadam mezi polozky Count(polozka=1), tak to sice neudela to,
co predpokladam (ze by to vypsalo pocet zaznamu, kde je sloupec polozka
roven 1), ale na druhou stranu nedostanu ani zadnou chybovou hlasku, takze
to asi neni zakazane.



Další informace o konferenci Databases