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