![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 11.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich
nowy dzień = nowy problem ![]() zapisuje do bazy 3 informacje sid, fetch_date, wartość dane zapisują się w takiej postaci: 3 1264508965 1 4 1264508966 6 4 1264508966 7 itd potrafię sobie wylistować unikalne wartości dla danego sida (dużo wyników - codziennie dopisuje się jeden rekord, w którym sid jest stały, a zmiania się data i wartość) Pytanie jako powinno wyglądać zapytanie SQL a może PHP które analizowało by datę i wynikiem był tylko najświeższy rekord, względem daty serwera. ewentualnie jakby ktoś był na tyle miły i nakierował jak wyciągnąć średnią wartość z jakiegoś okresu np. 30 dni. siedze nad tym już jakiś czas ale nie mam pomysłu jak ta datę rozłożyć na łopatki. skleciłem takie polecenie sql
nie jest to na pewno optymalne rozwiązanie ale zwraca wynik który chce, teraz pytanie jak to podpiąć pod php żeby to się wyswietlało tylko gdy sid z dynamic_data = id z static_data prosze o jakieś podpowiedzi jak to powinno byc zrobione w stylu powinienes podipąc to wykorzystać to i to, chociaż podpowiedziamy z gotowym kodem równiez nie pogardze ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 113 Pomógł: 11 Dołączył: 20.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Z tym porównaniem "dynamic_data = id z static_data" nie widzę problemu bo jak już wyciągniesz interesujący cię rekord z bazy to wystarczy zwykła instrukcja warunkowa która to sprawdzi i wyświetli bądź nie. Co do tej średniej z 30 dni to zakładając że zapytanie do bazy będziesz miał takie jak zaprezentowałeś to wystarczy zczytać rekordy z 30 ostatnich dat (mam tu na myśli tak jak by 30 zmian tej wartości fetch_date aby cofnąć się o te 30 dni, bo zakładam że dodajesz wiele rekordów jednego dnia), bo przecież masz je ułożone chronologicznie. Ja bym to zrobił za pomocą pętli w PHP i odpowiedniego warunku. -------------------- "Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on to właśnie robi."
Albert Einstein |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 44 Dołączył: 17.02.2004 Skąd: Wieliczka Ostrzeżenie: (10%) ![]() ![]() |
ja bym raczej na php nie przerzucał tego co na poziomie samego zapytania mozna już zrobić.
jeżeli chcesz wybrać z bazy rekordy z jakiegoś okresu, dajmy 10 ostatnich dni - to stosujesz DATE_SUB + INTERVAL Polecam lekturkę http://dev.mysql.com/doc/refman/5.1/en/dat...-functions.html -znajdziesz tam gotowe przyklady w opisie -------------------- neverever
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 06:30 |