Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Помогите с Запросом!  [new]
Aslanich
Member

Откуда:
Сообщений: 7
Ребята помогите написать запрос!
условие:чтобы получить все № телефонов с любых операторов , с которых прошло на нашу сеть более N минут в день
26 сен 08, 13:46    [6232747]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с Запросом!  [new]
mas_abd
Member

Откуда:
Сообщений: 31
Мало первоначальных данных. Приведи пример таблицы
26 сен 08, 13:47    [6232750]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с Запросом!  [new]
Aslanich
Member

Откуда:
Сообщений: 7
есть таблица
номер абонента А, номер абонента Б, продолжительность,время-дата , логический вызов
нужно выташить данные за месяц сколько абонов в день звонили .тоесть
абонентБ, кол-во звонков, кол-во минут, дата
26 сен 08, 13:52    [6232778]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с Запросом!  [new]
Aslanich
Member

Откуда:
Сообщений: 7
мож кто так поймёт?
select t.dialed, sum(t.minuts) t.start_time from table1 t
where t.lcal in ('1','2')
26 сен 08, 13:59    [6232846]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с Запросом!  [new]
Andrey.L
Member

Откуда: Харьков
Сообщений: 1546
Aslanich
есть таблица
номер абонента А, номер абонента Б, продолжительность,время-дата , логический вызов
нужно выташить данные за месяц сколько абонов в день звонили .тоесть
абонентБ, кол-во звонков, кол-во минут, дата
Бонусы за входящие :)
Как-то вот так:
select B, count(*), sum(min), trunc(dt)
  from tbl
  group by B, trunc(dt)
26 сен 08, 14:00    [6232857]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с Запросом!  [new]
stax..
Guest
Andrey.L
Aslanich
есть таблица
номер абонента А, номер абонента Б, продолжительность,время-дата , логический вызов
нужно выташить данные за месяц сколько абонов в день звонили .тоесть
абонентБ, кол-во звонков, кол-во минут, дата
Бонусы за входящие :)
Как-то вот так:
select B, count(*), sum(min), trunc(dt)
  from tbl
  group by B, trunc(dt)

імхо сложность в переходе через сутку
напр для
insert into tbl values (911,20,to_date('10.10.2008 23:45:00','dd.mm.yyyy hh24:mi:ss'))
/
1) ето один день или два?
2) можеt ли быть звонок больше сутки (скажем три)?
.....
stax
26 сен 08, 14:58    [6233300]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с Запросом!  [new]
Aslanich
Member

Откуда:
Сообщений: 7
вот этот запрос которы я я просил. его нужно теперь чу чуть усовершенствовать.
в таблице bis.calls_00_092008 есть столбцы
MSISDN
И
DIALED
В этот запрос нужно добавить условие чтоб один и тотже DIALED и MSISDN не дублировались. тоесть один и тотже номер может звонить другому в течений дня несколько раз и в сумме получится 100 минут. Мне нужно чтоб запросом вытаскивались только те
DIALED 
которые звонили на разные
MSISDN
select DIALED, sum(minut), start_time, trank from (
select distinct(t.dialed) as DIALED, sum(t.duration)/60 as minut, trunc(t.start_time) as start_time,t1.operator_name as trank 
from bis.calls_00_092008 t, bis.trunk_new t1
where t.circuit_in=t1.sircuit
and t.lcal_lcal_id in (35,40,305,306)
and t.circuit_in in ('2800','5501','D601','5401','5000','6400','0700','5E01','B400','0F00',
'4001','0B00','8200','DC00','AA00','0400','D200','1400','0E00','9A01','A401','2201','0401','FA00')
group by t.dialed,trunc(t.start_time),t1.operator_name)
group by dialed, start_time,trank
having sum(minut) > 100
26 сен 08, 15:36    [6233656]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить