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