|
|
|
Статистика событий по часам.
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть таблица, в которой учитывается время входа и выхода. Посоветуйте, пожалуйста, как можно получить статистику занятости места по часам или просто по заданному промежутку? К примеру, по вторникам с 15:00 до 16:00. ID Enter Entersek Exit Exitsek Duration Durationsek Day of week N3442 2014-04-26 11:57:17 1398499037 2014-04-26 12:10:09 1398499809 00:12:52 772 Saturday 43443 2014-04-26 13:08:36 1398503316 2014-04-26 14:03:14 1398506594 00:54:38 3278 Saturday 23444 2014-04-26 14:46:56 1398509216 2014-04-26 15:40:43 1398512443 00:53:47 3227 Saturday 73445 2014-04-26 16:21:17 1398514877 2014-04-26 16:53:53 1398516833 00:32:36 1956 Saturday 63446 2014-04-26 17:50:09 1398520209 2014-04-26 18:13:54 1398521634 00:23:45 1425 Saturday 43447 2014-04-26 18:54:05 1398524045 2014-04-26 19:09:19 1398524959 00:15:14 914 Saturday 43448 2014-04-26 19:55:46 1398527746 2014-04-26 20:43:36 1398530616 00:47:50 2870 Saturday 63449 2014-04-26 21:29:57 1398533397 2014-04-26 22:22:35 1398536555 00:52:38 3158 Saturday 23450 2014-04-26 23:03:26 1398539006 2014-04-26 23:38:40 1398541120 00:35:14 2114 Saturday 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2014, 16:47:25 |
|
||
|
Статистика событий по часам.
|
|||
|---|---|---|---|
|
#18+
Что есть "место" и какая именно статистика нужна? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2014, 16:51:51 |
|
||
|
Статистика событий по часам.
|
|||
|---|---|---|---|
|
#18+
miksoft, Место - гараж. Нужно получить статистику его занятости в зависимости от времени суток и дней недели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2014, 17:00:32 |
|
||
|
Статистика событий по часам.
|
|||
|---|---|---|---|
|
#18+
gipsdzМесто - гараж.Нет, что есть "место" в контексте исходной таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2014, 17:02:34 |
|
||
|
Статистика событий по часам.
|
|||
|---|---|---|---|
|
#18+
Это смотря какая статистика нужна. Конкретизируйте какие величины вам нужны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2014, 17:06:52 |
|
||
|
Статистика событий по часам.
|
|||
|---|---|---|---|
|
#18+
miksoft, Это все данные по одному гаражу. Таблица выглядит так: 1 Number int(11) AUTO_INCREMENT - ID 2 Enter datetime - Время въезда 3 Entertimestamp int(11) - секунды с 70 4 Exit datetime - Время выезда 5 Exittimestamp int(11) - секунды 6 duration time - продолжительность пребывания 7 durstamp int(11) - продолжительность в секундах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2014, 17:08:42 |
|
||
|
Статистика событий по часам.
|
|||
|---|---|---|---|
|
#18+
chabapok, К примеру, по субботам с 18 до 19 гараж был занят 19 минут 49 секунд. Исходя только из данных ниже, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2014, 17:11:55 |
|
||
|
Статистика событий по часам.
|
|||
|---|---|---|---|
|
#18+
Собственно для решения задачи нужно иметь опорную таблицу интервалов (вероятно, часов), типа starttimeendtime2014-04-26 00:00:002014-04-26 01:00:002014-04-26 01:00:002014-04-26 02:00:002014-04-26 03:00:002014-04-26 03:00:00...... После чего вяжем к ней справа таблицу данных и тупо считаем Код: sql 1. для каждого интервала, установив в качестве критерия отбора наложение интервалов. Ну и всё собсно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2014, 18:33:42 |
|
||
|
Статистика событий по часам.
|
|||
|---|---|---|---|
|
#18+
И чего я решил, что это по MS SQL? ... Ну да не выбрасывать же, жалко... Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. dt1dt2time_in_range2014-04-26 11:00:00.0002014-04-26 12:00:00.00000:02:43.0002014-04-26 12:00:00.0002014-04-26 13:00:00.00000:10:09.0002014-04-26 13:00:00.0002014-04-26 14:00:00.00000:51:24.0002014-04-26 14:00:00.0002014-04-26 15:00:00.00000:16:18.0002014-04-26 15:00:00.0002014-04-26 16:00:00.00000:40:43.0002014-04-26 16:00:00.0002014-04-26 17:00:00.00000:32:36.0002014-04-26 17:00:00.0002014-04-26 18:00:00.00000:09:51.0002014-04-26 18:00:00.0002014-04-26 19:00:00.00000:19:49.000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2014, 19:02:25 |
|
||
|
Статистика событий по часам.
|
|||
|---|---|---|---|
|
#18+
Спасибо большое за советы! Пойду пытаться применить:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2014, 00:57:17 |
|
||
|
Статистика событий по часам.
|
|||
|---|---|---|---|
|
#18+
gipsdzПойду пытаться применить:)Комментарии по MS SQL первые 2 строки (from,cross apply as r) строят из индексированной таблицы чисел master.dbo.spt_values (numbers в диапазоне 0..2048) почасовые диапазоны по количеству полных часов между двумя предварительно заданными временнЫми границами второй cross apply подтягивает из таблицы данных к каждому построенному диапазону все "задевающие" его данные и подсчитывает длительность пересечения в секундах затем выполняется группировка по почасовым диапазонам, для каждого диапазона подсчитывается сумма "пересекающих" секунд, и затем сумма секунд превращается в тип "время" (чч:мм:сс) В общем, все как написал Akina К сожалению, в MySQL нет CROSS APPLY, зато работа с датами/временем, как я понял, реализована значительно проще Успешного решения вам:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2014, 09:10:51 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38629699&tid=1834912]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 401ms |

| 0 / 0 |
