Agregacni dotaz ?
Jan Serak
sherry na pikebo.cz
Pátek Listopad 1 11:45:21 CET 2002
"Karel Král" wrote:
>
> Rekneme, ze mam nasledujici zaznamy v tabulce:
>
> rule = 's1_xxx->' , bytes=x1, time=t
> rule = 's1_xxx<-', bytes=x2, time=t
> rule = 's1_yyy->', bytes=x3, time=t
> rule = 's1_yyy<-', bytes=x4, time=t
> atd pro time=t1
>
> prikaz
> SELECT rule, bytes,time FROM table WHERE rule LIKE 's1_xxx%' AND time >=tx
> AND time <=ty
>
> mi vrati pro kazdy cas t vzdy dva zaznamy
>
> rule = 's1_xxx->' , bytes=x1, time=t
> rule = 's1_xxx<-', bytes=x2, time=t
>
> problem je jak dotaz rozsirit tak, aby bylo mozno dotaz omezit WHERE rule
> LIKE 's1%' AND time >=tx AND time <=ty a doslo k vraceni opet pouze dvou
> zaznamu
>
> rule = 's1_???->' , bytes=x1+x3, time=t
> rule = 's1_???<-', bytes=x2+x4, time=t
>
> zrejme nejak pomoci Group, ale nejak se mi nedari.
Netusim, jaky to ma smysl, ale asi to nema byt prilis obecne, coz?
Takze co takhle:
select substr(rule,1,3)||'???'||substr(rule,7) rule,sum(bytes),time
from nevimco
group by substr(rule,1,3)||'???'||substr(rule,7),time
Ale jinak si dovolim upozornit, ze na takoveto kejkle je Vami navrzene
schema asi dost spatne. Netusim, co ma predstavovat obsah sloupce rule,
ale videl bych to na rozhozeni do nekolika (podle toho, co o tom vim,
do tri) sloupcu.
Jan Serak
Další informace o konferenci Databases