Bookmarks

Yahoo Gmail Google Facebook Delicious Twitter Reddit Stumpleupon Myspace Digg

Search queries

dbf2mysql parameter, WWWXXXAPC, wwwxxxAPC, How to unsubscrube from dategen spam, docmd.close 2585, WWWXXXDOCO, nu vot, dhcpd lease file "binding state", WWWXXXDOCO, how to setup procmail to process html2text

Links

XODOX
Impressum

#1: Durchschnitt von z.B. 20 Vorgängerdatensätzen

Posted on 2007-06-15 23:12:35 by h.schoene

Hallo,
habe eine bestehende Tabelle mit den Feldern id, wert1 und wert2. Feld
wert2 ist leer. Datens=E4tze =3D mehrere Tausend.
Problem: M=F6chte in Feld wert2 den Durchschnitt der jeweils letzten 20
Vorg=E4ngerdatens=E4tze einf=FCgen.
Hat jemand dazu eine Idee?

Gruss Heiko

Report this message

#2: Re: Durchschnitt von z.B. 20 Vorgängerdatensätzen

Posted on 2007-06-15 23:16:30 by h.schoene

On 15 Jun., 23:12, h.scho...@yahoo.de wrote:
> Hallo,
> habe eine bestehende Tabelle mit den Feldern id, wert1 und wert2. Feld
> wert2 ist leer. Datens=E4tze =3D mehrere Tausend.
> Problem: M=F6chte in Feld wert2 den Durchschnitt der jeweils letzten 20
> Vorg=E4ngerdatens=E4tze einf=FCgen.
> Hat jemand dazu eine Idee?
>
> Gruss Heiko

Vergessen: Ich meine den Durchschnitt von wert1 der jeweils letzten 20
Vorg=E4ngerdatens=E4tze.

Report this message

#3: Re: Durchschnitt von z.B. 20 Vorgängerdatensätzen

Posted on 2007-06-16 09:27:12 by Andreas Kretschmer

Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)

Report this message

#4: Re: Durchschnitt von z.B. 20 Vorgängerdatensätzen

Posted on 2007-06-18 14:38:23 by Daniel Fischer

h.schoene!

> Hallo,
> habe eine bestehende Tabelle mit den Feldern id, wert1 und wert2. Feld
> wert2 ist leer. Datensätze = mehrere Tausend.
> Problem: Möchte in Feld wert2 den Durchschnitt der jeweils letzten 20
> Vorgängerdatensätze einfügen.
> Hat jemand dazu eine Idee?

Ich fürchte, keine gute, ich bin erkältet...

Eine Anfang, für den id fortlaufend sein muss:

delimiter //
drop procedure if exists update_wert2//
create procedure update_wert2(cnt int)
begin
set @temp = 1;
update tab set wert2 = 0;
ll: loop
update tab as a inner join tab as b on a.id = b.id + @temp set a.wert2 = a.wert2 + b.wert1;
set @temp = @temp + 1;
if @temp <= cnt then iterate ll; end if;
leave ll;
end loop ll;
update tab set wert2 = wert2 / cnt;
end; //
delimiter ;
call update_wert2(20);


Gruß
Daniel

Report this message