Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zliczanie wystapien w odstepach czasu
Forum PHP.pl > Forum > Bazy danych > MySQL
BartQ
Mam baze w ktorej jest nazwisko, data_godzina, czynnosc.

Jak policzyc ilosc wystapien X i Y w odstepach co 30< minut.
Czyli zliczac te ktore sa od siebie oddalone o minimum 30 minut.
np.
|naz|data_godzina|cz |
| X |data 12:00:00| --- |<-1
| Y |data 12:01:00| --- |<-1
| X |data 12:02:00| --- |
| Y |data 12:25:00| --- |
| X |data 12:31:00| --- |<-2
| Y |data 12:32:00| --- |<-2
| Y |data 15:02:02| --- |<-3

wynik
X 2
Y 3

Korzystalem z manuala ale wszystkie moje proby podawaly bledny wynik(zliczalo mi wszystkie rekordy).
vieri_pl
Możesz użyć funkcji strtotime
bodhi
Propozycja:
  1. SELECT s1.naz, count(*)
  2. FROM czas
  3. AS s1 WHERE (s1.czas - interval 30 minute) > any ( SELECT s2.czas
  4. FROM czas
  5. AS s2 WHERE s2.czas < s1.czas AND s1.naz = s2.naz) GROUP BY s1.naz;

gdzie czas to data_godzina
Zlicza ilość odstępów. Sprawdza czy istnieje jakikolwiek rekord o czasie miniejszym o 30 minut.
Jeżeli chcesz sprawdzić czy wcześniejszy rekord jest mniejszy o 30 minut to ja bym usunął any i dodał w zagnieżdżonym zapytaniu max(s2.czas)
BartQ
Wszystko pieknie ale moj MySQL nie obsluguje zagniezdzonych zapytań.
ERROR #1064
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.