int order by asc, ale nula na konci

Honza Pazdziora adelton na informatics.muni.cz
Pátek Září 20 12:17:38 CEST 2002


On Fri, Sep 20, 2002 at 12:13:30PM +0200, Zdeněk Böhm wrote:
> >
> > 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

Ale to ne, to by byl prilis negativni zaver:

select sloupec from (
	select 0 reseni_nuly, sloupec from table where sloupec <> 0
	union all
	select 1 reseni_nuly, sloupec from table where sloupec = 0
)
order by reseni_nuly, sloupec

Nebo

select sloupec from table
order by if(sloupec = 0, 1, 0), sloupec

ci jak se v MySQL rekne decode.

> 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.

IMO tohle neni povolena SQL92 syntaxe.

-- 
------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
      ... all of these signs saying sorry but we're closed ...
------------------------------------------------------------------------


Další informace o konferenci Databases