Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Grupowanie co X minut, niezależnie czy istnieją rekordy
peku33
post 17.07.2012, 20:28:26
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 5
Dołączył: 22.01.2010

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


Witacje

Posiadam taką tabelkę:

Id [Int] | Date [Timestamp] | Jakaś liczba | Jakaś kolejna liczba

Chciałbym stworzyć zapytanie, które zwróciłoby średnią wartość pól liczbowych z całego dnia, pogrupowane co 15 minut. Domyślam się, że żeby zgrupować co 15 czy 20 minut, wystarczy użyć jakiejś funkcji aka GROUP BY FLOOR(MINUTES(Date) / 15).

Tylko pytanie: co zrobić, żeby występowały także rekordy do których nie pasuje żadna data. Powiedzy, że od 02:00 do 03:00 nie ma żadnego rekordu, to jak uzyskać

Time | Avg(col1) | Avg(col2)
02:00 | null / 0 | null / 0
02:15 | null / 0 | null / 0
02:30 | null / 0 | null / 0
02:45 | null / 0 | null / 0
03:00 | null / 0 | null / 0

Jakaś pętla i JOIN?
Go to the top of the page
+Quote Post
maly_swd
post 18.07.2012, 07:52:29
Post #2





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

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


najprosciej zrob pomocnicza tabele z przedzialami
0
15
30
45
60
75 ...

pozniej robisz select from tabela_pomocnicza
left join twoje dane on tabelapomocniza.value=floor(,.../15)

i powinno byc ok..


--------------------
śmieszne obrazki
Kryzys: Ser jem spleśniały, wino piję stare i samochód mam bez dachu..
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 05:32