Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wartosc srednia
misty
post
Post #1





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

Ostrzeżenie: (0%)
-----


Witam!
Potrzebuje wyciagnac pewne zapytanie. Nie wiem czy to sie wogole da zrobic na poziomie sql, czy juz powinnam sie tym zajac w skrypcie.
mianowicie chodzi o to:
mam 3 tabele:
  1. t_temperatura (id serial PRIMARY KEY, temperatura double precision NOT NULL, data_id int NOT NULL, godzin_id, FOREIGN KEY(DATA)id) REFERENCES t_data(id) match FULL ON UPDATE cascade ON DELETE restrict, FOREIGN KEY(godzina_id) REFERENCES t_godzina(id) match FULL ON UPDATE cascade ON DELETE restrict);
  2.  
  3. t_data (id serial PRIMARY KEY, DATA date NOT NULL);
  4.  
  5. t_godzina (id serial PRIMARY KEY, godzina varchar NOT NULL);


chodzi o to ze: 3 razy na dobe (o godz 6:00, 14:00 i 22:00) dokonywane sa pomiary temperatury. ale ja nie chce wyciagac wszystkich wartosci, tylko dla kazdego dnia wartosc usredniona. Wynikiem mojego zapytania maja byc wszystkie daty w bazie i dla kazdej daty wartosc srednia temperatury z danego dnia. Nie do konca wiem jak wogole 'ugryzc' to zapytanie. tj. wiem ze do wyciagniecia wartosci sredniej sluzy 'avg' ale jak napisac to zapytanie by nie zrobil mi wartosci sredniej z wszystkich wartosci, tylko by robil avg(temperatura) dla kazdej daty?
jakies sugestie?
Pzdr!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
misty
post
Post #2





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

Ostrzeżenie: (0%)
-----


data jest w osobnej tabeli z racji tego, ze pomiarow jest wiecej (tj. nie tylko temperatura), baza jest zbudowana tak, ze latwiej bylo mi wyciagnac daty do osobnej tabeli poniewaz kilka innych tabel z niej korzysta. wiem ze moglam w kazdej z tych pozostalych tabel dodac kolumne 'data' tak jak zasugerowales, ale sadze ze to powielanie informacji juz w bazie istniejacych, dlatego stworzylam osobna tabele, a te ktore z niej korzystaja odwoluja sie po data_id.
masz wiec moze jakies sugestie dla takiej struktury ?(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

a wiesz co, juz sobie poradzilam:) przerobilam Twoje zapytanie, teraz wyglada tak:
  1. SELECT avg(t_temperatura.temperatura) AS srednia_temperatura, t_data.DATA FROM t_temperatura, t_data WHERE t_temperatura.data_id=t_data.id GROUP BY t_data.DATA;

i smiga:)

dzieki wielkie za pomoc!! (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 11:42