powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Группировка по дате и по часам
5 сообщений из 5, страница 1 из 1
Группировка по дате и по часам
    #39617655
capet0z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Помогите пожалуйста в написании скрипта.
Имеются данные (во вложении) в формате:
timeload - дата рейса (день.месяц.год час:мин:сек), vehid - номер автомобиля

Необходимо отобразить количество рейсов (count(vehid) ???) за каждый час.

Данные выбираю запросом:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
select timeload, vehid
from vehtrips
where timeload
between '01.10.2017 00:00:00' and '01.10.2017 03:00:00'
and vehid in (select vehid from allvehs where section='1may' )
union 
select timeload, vehid
from vehtrips
where timeload
between '02.10.2017 00:00:00' and '02.10.2017 03:00:00'
and vehid in (select vehid from allvehs where section='1may' )
order by timeload



Могу только вывести группировку по датам
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
select to_char(timeload, 'dd.mm.yyyy') tl, count(vehid) from
(select timeload, vehid
from vehtrips
where timeload
between '01.10.2017 00:00:00' and '01.10.2017 03:00:00'
and vehid in (select vehid from allvehs where section='1may' )
union 
select timeload, vehid
from vehtrips
where timeload
between '02.10.2017 00:00:00' and '02.10.2017 03:00:00'
and vehid in (select vehid from allvehs where section='1may' )
order by timeload)
group by to_char(timeload, 'dd.mm.yyyy');



Но по часам как в примере (вложение) не могу. Помогите или подскажите в какую сторону курить.
Спасибо.
...
Рейтинг: 0 / 0
Группировка по дате и по часам
    #39617682
brzl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
with data as (
select to_date('01.10.2017 0:02','dd.mm.yyyy hh24:mi:ss') TIMELOAD,	31 vehid from dual union all
select to_date('01.10.2017 1:02','dd.mm.yyyy hh24:mi:ss') TIMELOAD,	25 vehid from dual union all
select to_date('01.10.2017 1:03','dd.mm.yyyy hh24:mi:ss') TIMELOAD,	27 vehid from dual union all
select to_date('01.10.2017 3:05','dd.mm.yyyy hh24:mi:ss') TIMELOAD,	20 vehid from dual union all
select to_date('01.10.2017 4:07','dd.mm.yyyy hh24:mi:ss') TIMELOAD,	35 vehid from dual union all
select to_date('01.10.2017 4:08','dd.mm.yyyy hh24:mi:ss') TIMELOAD,	40 vehid from dual union all
select to_date('01.10.2017 5:24','dd.mm.yyyy hh24:mi:ss') TIMELOAD,	44 vehid from dual union all
select to_date('01.10.2017 5:24','dd.mm.yyyy hh24:mi:ss') TIMELOAD,	14 vehid from dual union all
select to_date('02.10.2017 0:02','dd.mm.yyyy hh24:mi:ss') TIMELOAD,	31 vehid from dual union all
select to_date('02.10.2017 1:02','dd.mm.yyyy hh24:mi:ss') TIMELOAD,	25 vehid from dual union all
select to_date('02.10.2017 1:03','dd.mm.yyyy hh24:mi:ss') TIMELOAD,	27 vehid from dual union all
select to_date('02.10.2017 3:05','dd.mm.yyyy hh24:mi:ss') TIMELOAD,	20 vehid from dual union all
select to_date('02.10.2017 4:07','dd.mm.yyyy hh24:mi:ss') TIMELOAD,	35 vehid from dual union all
select to_date('02.10.2017 4:08','dd.mm.yyyy hh24:mi:ss') TIMELOAD,	40 vehid from dual union all
select to_date('02.10.2017 4:24','dd.mm.yyyy hh24:mi:ss') TIMELOAD,	44 vehid from dual )
select * from(
select trunc(timeload) day, to_char(timeload,'hh24') hh, vehid from data d
)
pivot (count(vehid) for hh in ('00' as "00 - 00:59", '01' as "01", '02' as "02", '03' as "03" , '04' as "04", '05' as "05"))  
...
Рейтинг: 0 / 0
Группировка по дате и по часам
    #39617702
capet0z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
brzl,

большое спасибо!
...
Рейтинг: 0 / 0
Группировка по дате и по часам
    #39617710
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
capet0zbrzl,

большое спасибо!Из базуки - да по комарам.
Код: plsql
1.
group by trunc(timeload,'hh24')

...
Рейтинг: 0 / 0
Группировка по дате и по часам
    #39617725
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eliccapet0zbrzl,

большое спасибо!Из базуки - да по комарам.
Код: plsql
1.
group by trunc(timeload,'hh24')



pivot и есть неявный group by, в задании указано в каком виде нужен результат

.....
stax
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Группировка по дате и по часам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]