Mysql вычисляет секунды между двумя датами/временем для каждого дня

У меня есть эта таблица, но я беспомощна, как вычислять секунды за каждый отдельный день из этой таблицы:

id  from            to
---------------------------------------------------
1   2013-01-31 23:50:00 2013-02-02 09:00:00
2   2013-02-05 11:21:12 2013-02-08 01:01:01
3   2013-02-08 17:33:44 2013-02-08 18:22:55
4   2013-02-12 01:40:12 2013-02-12 02:00:59
5   2013-02-28 01:40:12 2013-03-02 02:00:59

Теперь мне нужно получить количество секунд для каждого дня в феврале между и с. так что за 1 февраля - x секунд, 2 февраля - y секунд, 3 февраля - 0 секунд и т.д. Любая идея, как мне это сделать? Большое спасибо.

Ответ 1

Используйте TIMESTAMPDIFF в MySQL:

SELECT TIMESTAMPDIFF(SECOND,from,to); 

Пример:

SELECT TIMESTAMPDIFF(SECOND,'2016-01-01 00:00:00','2016-01-11 00:00:00'); -- 864000
SELECT TIMESTAMPDIFF(MINUTE,'2016-01-01 00:00:00','2016-01-11 00:00:00'); -- 14400
SELECT TIMESTAMPDIFF(HOUR,'2016-01-01 00:00:00','2016-01-11 00:00:00'); -- 240
SELECT TIMESTAMPDIFF(DAY,'2016-01-01 00:00:00','2016-01-11 00:00:00'); -- 10