База данных с временными метками, показывает отчетный месяц - PullRequest
1 голос
/ 10 февраля 2012

У меня есть таблица, которая сохраняет статистику загрузки / выгрузки за 15 минут.

Вот как выглядит таблица

| ID  | timestamp  | upload | download | packetssent | packetsreceived 
| 1   | 1328828401 | 343245 | 93473463 | 4343423     | 3435664
| 2   | 1328829301 | 343245 | 93473463 | 4343423     | 3435664

Я хочу, чтобы вы были настраницу, которую вы видите всего скачать / загрузить.А затем список доступных месяцев.(В настоящее время это только февраль). После того, как вы щелкнете по месяцу, он покажет итоги дня и их итоги, когда вы нажмете на день, вы увидите все записи за этот единственный денькак это сделать.

Заранее спасибо

Ответы [ 3 ]

2 голосов
/ 10 февраля 2012

Чтобы извлечь различные значения, используйте функции даты / времени в MySQL

DAY(from_unixtime(timestamp))
MONTH(from_unixtime(timestamp))
YEAR(from_unixtime(timestamp))

HOUR(FROM_UNIXTIME(timestamp))
MINUTE(FROM_UNIXTIME(timestamp))
SECOND(FROM_UNIXTIME(timestamp))

Вы можете использовать их в group by разделах для извлечения вашей информации в зависимости от множества временных интервалов

Просмотрите полный список http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html

1 голос
/ 10 февраля 2012

Попробуйте следующее (для текущего года):

SELECT 
   FROM_UNIXTIME(timestamp, "%m") AS m, 
   FROM_UNIXTIME(timestamp, "%Y") AS Y, 
   SUM(packetssent ) AS sent, 
   SUM(packetsreceived) AS received
FROM atable
GROUP BY Y, m HAVING Y=YEAR(NOW())
0 голосов
/ 10 февраля 2012

Я думаю, вы можете использовать

SELECT DISTINCT MONTH(DATE(timestamp)) FROM Table.

Вы можете сойти с рук

SELECT DISTINCT MONTH(timestamp) FROM table.

но если вы можете в документации для функции MONTH (), не указано, что вы можете передать ей метку времени.

...