SQL dotaz - vysvetleni reseni

Ing. Pavel PaJaSoft Janousek janousek na fonet.cz
Pátek Březen 30 15:13:15 CEST 2001


> Priklad 5:
> 
> SELECT sl1, agr_fce(sl2) FROM tab GROUP BY sl1  .... ma dat vektor a
> skalar. Neni to chyba, vysledkem je matice, ktera ma ve druhem sloupecku
> vzdy stejnou hodnotu.

!!!!! ^^^^^ !!!!!!!!

> Jenze POZOR! - sice to neni syntakticka chyba, ale vysledek je treba dobre
> interpretovat.
> 
> Zpracovani takoveho dotazu probehne tak, ze se nejprve urci vysledek
> agregacni fce pro sl2 (napr. minimalni hodnota), pak se spocita vektor
> podle GROUP BY a nakonec se vysledky spoji do vysledne matice.
> 
> Cili vysledek neni takovy, jaky potreboval tazatel (od kazdeho ID prave
> jedna hodnota druheho sloupce pro dane ID).

	Ehm, nechci Vam brat iluze, ale dam takovyto priklad:

create table pom (id serial, zakaznik int, prostor int, cas datetime
default 'now');

Tabulka se plni kazdou hodinu udajem o kazdem zakaznikovi a na konci se
udela COMMIT;

Mam za to, ze dotaz:

select cas, sum(prostor) from pom group by cas order by cas desc;

mi sdeli kolik celkove kazdou hodinu zakaznici obsadili na disku.

A ujistuji Vas, ze empiricky zjisteno sum(prostor) rozhodne neda stejnou
hodnotu pro vsechny casy.

-----------------------------------------------------------------------
Ing. Pavel Janousek (PaJaSoft)                 FoNet, spol. s r. o.
Vyvoj software, Intranet / Internet          Anenska 11, 602 00  Brno
E-mail: mailto:Janousek na FoNet.Cz             Tel.: +420  5  4324 4749
SMS:    mailto:P.Janousek na SMS.Paegas.Cz      Fax.: +420  5  4324 4751
WWW:    http://WWW.FoNet.Cz/               E-mail: mailto:Info na FoNet.Cz
-----------------------------------------------------------------------


Další informace o konferenci Linux