ďťż
 
Różnica wartości w SQL'u ďťż
 
Różnica wartości w SQL'u
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Różnica wartości w SQL'u



MPolo - 17-03-2006 00:29
Różnica wartości w SQL'u
  Jakie zapytanie SQL'owe należy stworzyć,
aby obliczyć różnicę tej samej zmiennej.
Chodzi doładnie o coś takiego:
Var(czas aktualny) - Var(czas aktualny - 1h)
a potem tę różnicę zapisać do bazy pod inną zmienną.

MPolo





Ala - 17-03-2006 00:29

  Użytkownik "MPolo" <mpolo2003@poczta.onet.pl> napisał w wiadomości
news:dv9kcb$o6i$1@inews.gazeta.pl...
> Jakie zapytanie SQL'owe należy stworzyć,
> aby obliczyć różnicę tej samej zmiennej.
> Chodzi doładnie o coś takiego:
> Var(czas aktualny) - Var(czas aktualny - 1h)
> a potem tę różnicę zapisać do bazy pod inną zmienną.

przecież różnica w tym przypadku zawsze będzie wynosiła 1h ...




=?ISO-8859-2?Q?Witek_=A6wierzy?= - 17-03-2006 00:29

  MPolo wrote:
> Jakie zapytanie SQL'owe należy stworzyć,
> aby obliczyć różnicę tej samej zmiennej.
> Chodzi doładnie o coś takiego:
> Var(czas aktualny) - Var(czas aktualny - 1h)
> a potem tę różnicę zapisać do bazy pod inną zmienną.
>
> MPolo
>
>
a np. tak (rozumiem, ze pod pojeciem zmiennej rozumiesz kolumne tabeli ? ):

select a.zmienna - b.zmienna
from (select zmienna
from tabela
where czas=czas_aktualny) a,
(select zmienna
from tabela
where czas=czas_aktualny-1_godzina) b

a zapisanie :
insert into tabela2(inna_zmienna)
select a.zmienna - b.zmienna
from (select zmienna
from tabela
where czas=czas_aktualny) a,
(select zmienna
from tabela
where czas=czas_aktualny-1_godzina) b

o ile pod pojeciem "zmienna" rozumiesz kolumne tabeli,
a "zapisanie do bazy" to wstawienie nowego wiersza do
innej tabeli.A jezeli pod tymi pojeciami rozumiesz cos innego,
to juz nie wiem jak ;-)
pozdrawiam
Witek Swierzy
wswier@sgh.waw.pl




MPolo - 17-03-2006 00:30

 
Użytkownik "Witek Świerzy" <wswier@sgh.waw.pl> napisał w wiadomości
news:dva24v$o65$1@amigo.idg.com.pl...
>>

Dobrze, postaram się to uszczegółowć:

Mam tabelę:

---------------------+------+-----
DataCzas | Var0 | Var1
---------------------+------+-----
2006-03-16 17:00:00 | 2567 | ????
2006-03-16 17:01:00 | 2579 | ????
2006-03-16 17:02:00 | 2594 | ????
2006-03-16 17:03:00 | 2594 | ????
2006-03-16 17:04:00 | 2600 | ????
2006-03-16 17:05:00 | 2604 | ????

zmienna Var0 w tabeli jest wartością narastającą (licznik)
teraz chcę wyliczyć różnicę między wartością ze zmiennej Var0
w aktualnym stemplu czasowym i wartością ze zmiennej Var0 z czasu
np. 5 minut wstecz i zapisac to do tabeli jako zmienna Var1
z aktualnym stemplem czasowym

Wiem jak odczytac wartosc aktualna,
wiem jak odczytac wartosc wczesniejsza (np 5 minut do tylu),
wiem jak zapisac jakas wartosc do bazy SQL
ale nie mam pojecia jak napisac skrypt SQL'a aby wyliczyl
mi ta roznice i zapisal to do tabeli

MPolo





A.L.E.C - 18-03-2006 01:15
=?iso-8859-2?Q?Re:_R=F3=BFnica_warto=B6ci_w_SQL'u?=
  MPolo wrote:
> Użytkownik "Witek Świerzy" <wswier@sgh.waw.pl> napisał w wiadomości
> news:dva24v$o65$1@amigo.idg.com.pl...
>>>
>
> Dobrze, postaram się to uszczegółowć:
>
> Mam tabelę:
>
> ---------------------+------+-----
> DataCzas | Var0 | Var1
> ---------------------+------+-----
> 2006-03-16 17:00:00 | 2567 | ????
> 2006-03-16 17:01:00 | 2579 | ????
> 2006-03-16 17:02:00 | 2594 | ????
> 2006-03-16 17:03:00 | 2594 | ????
> 2006-03-16 17:04:00 | 2600 | ????
> 2006-03-16 17:05:00 | 2604 | ????
>
> zmienna Var0 w tabeli jest wartością narastającą (licznik)
> teraz chcę wyliczyć różnicę między wartością ze zmiennej Var0
> w aktualnym stemplu czasowym i wartością ze zmiennej Var0 z czasu
> np. 5 minut wstecz i zapisac to do tabeli jako zmienna Var1
> z aktualnym stemplem czasowym

w uproszczeniu (nie na każdej bazie przejdzie)

INSERT INTO tabela (dataczas, var0)
SELECT now(), a.var0 - b.var0
FROM tabela a, tabela b
WHERE a.dataczas = jakis czas
AND b.dataczas = jakiś czas - 5 minut
AND warunek łączący tabele a i b

czy jakos tak, pokombinuj

--
Aleksander 'A.L.E.C' Machniak http://alec.pl gg-2275252
LAN Management System Developer http://lms.alec.pl
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    jak to =?ISO-8859-2?Q?zrobi=E6=2E=2E=2E=3F_TSQL_sql_server?==?ISO-8859-2?Q?_?= Jak =?windows-1250?Q?pobra=E6_szacowan=B9_wielko=9C=E6_zbiory_wy nikowego_w_MS?==?windows-1250?Q?_SQL_2005=3F?= =?iso-8859-2?Q?=5BMS_SQL=5D_Czy_mo=BFna_wywo=B3a=E6_funkcje_t ylko_raz_dla?==?iso-8859-2?Q?_ca=B3ego_zbioru_=BCr=F3d=B3owego=3F?= [MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?= =?ISO-8859-2?Q?k=B3opot_z_uruchomieniem_MY_SQL_dla_C?==?ISO-8859-2?Q?MS_i_CRM_na_Fedora_Core_3?= Oracle PL/SQL Wstawianie =?ISO-8859-2?Q?wynik=F3w_kolekcji_d?==?ISO-8859-2?Q?o_tabeli?= [MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?= =?iso-8859-2?Q?=5Bmssql=5D_Zapytania_rekurencyjne__-_czy_sk=B3adnia_sql?==?iso-8859-2?Q?_co=B6_takiego_przewiduje_=3F?= [Oracle PL/SQL] Cursor i zapis =?ISO-8859-2?Q?rekord=F3w_do_?==?ISO-8859-2?Q?kolejnych_plik=F3w?= =?iso-8859-2?Q?=5BMySQL=5D_Co_minimalnie_potrzebne_zeby_mie=E 6_klienta_My?==?iso-8859-2?Q?SQL_na_Linuxie=3F?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • anette.xlx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com