Mam tabelę MYSQL, który ma następujące kolumny: entryDate, entryTime, entryAmt
Niektóre typowe wiersze wyglądałyby tak:
2013-01-02, 11:15:15, 30
2013-01-02, 11:52:10, 15
2013-01-02, 14:48:16, 15
2013-01-01, 10:10:11, 30
2013-01-01, 11:00:00, 15
itp...
Teraz moje pytanie brzmi: czy można to zrobić za pomocąKwerendy MYSQL, aby znaleźć średnią różnicę w czasie wartości aktywności jednego dnia w kolumnie entryTime? To jest na przykład chciałbym wiedzieć, jaki jest średni czas między każdym entryTime na dzień (na 2013-01-02, entryTimes to 11:15:15, 11:52:10 i 14:48:16. Chcę wiedzieć, ile czasu upłynęło od czasu do czasu).
Odpowiedzi:
1 dla odpowiedzi № 1Spróbuj tego
SELECT `entryDate`,
SEC_TO_TIME(
CASE WHEN COUNT(`entryTime`) = 1 THEN 0
ELSE TIME_TO_SEC(TIMEDIFF(MAX(`entryTime`), MIN(`entryTime`))) / (COUNT(`entryTime`) - 1)
END) average
FROM entries
GROUP BY `entryDate`
Wydajność
+------------+----------+
| date | average |
+------------+----------+
| 2013-01-01 | 00:49:49 |
| 2013-01-02 | 01:46:31 |
+------------+----------+