![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 31.01.2003 Skąd: piękne, czyste, pachnące Katowice Ostrzeżenie: (0%) ![]() ![]() |
to wycinek danych z mojej bazy:
widzicie tutaj informacje o pytaniach przesyłanych przez użytkowników mojej stronki. Ta tabela prezentuje odpowiedzi na te pytania, np. w pytaniu 306 kontakt z użytkownikiem pojawił się 8 razy (8 rekordów w bazie). potrzebuje dowiedzieć się, jaki był czas odpowiedzi po wysłaniu pytania przez użytkownika. W pyt. 306 kontakt użytkonika rozpoczął się 12.07 o godz. 11:06:26. O 11:24:11 dostał odpowiedz. Potrzebuję obliczyć różnicę czasu między tymi rekordami. Czyli pozostałe 6 rekordów dla tego pytania mnie nie interesuje (ważna jest pierwsza odpowiedz na pytanie). Problem polega na tym, że takich pytań mam w bazie kilkaset i chcę to policzyć dla wszystkich. Siedzę nad tym i przyznam, że nie mam pomysłu. Pewnie da się to jakoś zrobić przez podzapytania, ale w tym jestem słaby. Może ktoś ma pomysł? z góry dzieki! |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Baza jest troche źle zaprojektowana, najlepszym wyjsciem byloby trzymanie daty i czasu w jednym polu jako unix timestamp, co umowliziwa operacje na czasie i dacie przez zwykle operacje arytmetyczne.
W tym przypadku musiałbyś zapewne w zapytaniu złączyć date i czas w jedno pole (tymczasowe), potem rozbić to przy pomocy funkcji daty i czaus mysqla - albo pobrać dane do php i obliczenia wykonywać w php. Pobierasz 2 rekordy, posortowane wg daty ASC, i czasu ASC z limitem 2, nastepnie w pierwszym zamieniasz date i czas na format unix timestamp, tak samo z drugim i odejmujesz. Ten post edytował spenalzo 12.07.2005, 19:44:05 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 19:08 |