diff --git a/viewcreate.sql b/viewcreate.sql index 9762154..9c58382 100644 --- a/viewcreate.sql +++ b/viewcreate.sql @@ -128,6 +128,67 @@ group by mon +-- ------------------------------------------------------------------------------ +-- ------------------------------------------------------------------------------ +-- ------------------------------------------------------------------------------ +-- ------------------------------------------------------------------------------ +-- ------------------------------------------------------------------------------ + +drop view if exists vwasserroh; +create view vwasserroh as + +SELECT id,zeitpunkt,wasserzaehler,wetterinfo +, CAST(replace(wasserzaehler ,',','.') as float) as wasserval, + + lag ( CAST(replace(wasserzaehler ,',','.') as float) ,1 ) over (order by id) + as vorwasserval + +, +case when +round( + ( CAST(replace(wasserzaehler ,',','.') as float)) - (lag ( CAST(replace(wasserzaehler ,',','.') as float),1 ) over (order by id)) + ,3) +is null then 0.0 +else +round( + ( CAST(replace(wasserzaehler ,',','.') as float)) - (lag ( CAST(replace(wasserzaehler ,',','.') as float),1 ) over (order by id)) + ,3) +end +as wasserverbrauch + +, ( julianday(zeitpunkt) - julianday ( ( lag(zeitpunkt,1) over (order by id) ) ) ) * 24.0 + as zeitspannestd + +, +( ( CAST(replace(wasserzaehler ,',','.') as float)) - (lag ( CAST(replace(wasserzaehler ,',','.') as float),1 ) over (order by id)) ) +/( ( julianday(zeitpunkt) - julianday ( ( lag(zeitpunkt,1) over (order by id) ) ) ) * 24.0 ) + * 24.0 as wasserverbrauch24 + + + +from eintraege where wasserzaehler>0 ; + + +-- ------------------------------------------------------------------------------ +-- ------------------------------------------------------------------------------ +-- ------------------------------------------------------------------------------ +-- ------------------------------------------------------------------------------ +-- ------------------------------------------------------------------------------ + + +drop view if exists vwassersum; +create view vwassersum as + +select +cast ( strftime('%Y%m' ,zeitpunkt) as INTEGER ) as mon + +,round ( sum(wasserverbrauch ),3) as wasserQmSum + +from vwasserroh +group by mon +; + + -- ------------------------------------------------------------------------------ -- ------------------------------------------------------------------------------ -- ------------------------------------------------------------------------------