Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > Групировка данных TimeStamp


Автор: Berliner 30.3.2006, 14:41
Здраствуйте подскажите плиз ,как сгрупировать данные через указанный промежуток времени например 6 минут.

Вот данные:

id data_item_id data_ts item_amt mfcast_hits
1 1 01.01.2006 8:00 8,79 61
2 1 01.01.2006 8:04 8,82 92
3 1 01.01.2006 8:05 8,90 27


date_ts - показывает когда внеслись данные в таблицу.


нужно сгруприровать данные через определенный промежуток времени (интервал). Тут задан интервал 15 минут. Эт будет оформлено как хранимая процедура и передаваться интервал будет как параметр.

1-янв-06 8:00:00
1-янв-06 8:15:00
1-янв-06 8:30:00
1-янв-06 8:45:00
1-янв-06 9:00:00
1-янв-06 9:15:00


Автор: Ignat 30.3.2006, 15:05
Berliner, возникает вопрос: а вибирать-то что в пределах интервала?

Автор: Berliner 30.3.2006, 15:08
Например вот эти дыммые которык вносятся (data_item_id ) с хаотическими интервалами.
id data_item_id data_ts item_amt
1 01.01.2006 8:00 8,79 61
1 01.01.2006 8:04 8,82 92
1 01.01.2006 8:05 8,90 27

Автор: Ignat 30.3.2006, 15:12
Цитата(Berliner @ 30.3.2006, 15:08 Найти цитируемый пост)
Правильно заметил

Гм... Сформулирую по-другому: какие поля и результат каких функций должен найти своё отражение в результате запроса?

Автор: Berliner 30.3.2006, 15:25
погрупировать другие колонки которые присутсвуют в данной таблице
item_amt(какаето физическая величина), mfcast_hits(какаето физическая величина) эти данные вносятся в таблицу. data_ts- поле которое показывает когда вносились данные. Нужно погрупировать данные с заданным промеждутком(промежуток будет задаваться пользователем как параметр хранимой процедуры).

Код

data_item_id  data_ts                    item_amt    mf cast_hits
1                     01.01.2006 8:00          8,79         61
1                     01.01.2006 8:04          8,82         92
1                     01.01.2006 8:05          8,90         27
...... и так далее с разным промежутком


а прийти надо к результату:

Код


date         timestamp     p_strt_amt    p_max_amt
01.01.2006    8:00     8,79                 8,90
01.01.2006    8:30     8,81                 8,87
01.01.2006    8:45     8,82                 8,82
01.01.2006    9:00     8,89                 8,89
01.01.2006    9:15     8,85                 8,85
01.01.2006    9:30     8,85                 8,90
01.01.2006    9:45     8,92                 8,92
01.01.2006     10:00    8,89                8,93
тут груприровка идет через кажду 15 минут(например)


Подскажите пожалуста как получить такой результат

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)