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

Откуда:
Сообщений: 521
 -- Так тормозит
  with report as (
    
    select t1.minutes
           t1.hours
           t1.total 
           t1.view
      from table1 t1
     where t1.start >= to_date(concat(:start, ' 00:00:00'), 'dd.mm.yyyy hh24:mi:ss') 
      and t1.finish <= to_date(concat(:finish, ' 23:59:59'), 'dd.mm.yyyy hh24:mi:ss')
  )

  select 0 as sort 
        ,sum(r.minutes) as minutes
        ,sum(r.hours) as hours
        ,sum(r.total) as total
        ,r.view 
    from report r
    group by r.view 

  union all 

   select 1 as sort 
          ,sum(r.minutes) as minutes
          ,sum(r.hours) as hours
          ,sum(r.total) as total
          ,'Итог'
    from report r
   

  union all 

   select 2 as sort 
          ,sum(r.minutes) as minutes
          ,sum(r.hours) as hours
          ,sum(r.total) as total
          ,'Вид 1'
    from report r where r.view = 1;

-- Так нет
  with report as (
    
    select t1.minutes
           t1.hours
           t1.total 
           t1.view
      from table1 t1
     where t1.start >= to_date(concat(:start, ' 00:00:00'), 'dd.mm.yyyy hh24:mi:ss') 
      and t1.finish <= to_date(concat(:finish, ' 23:59:59'), 'dd.mm.yyyy hh24:mi:ss')
  )

  select 0 as sort 
        ,sum(r.minutes) as minutes
        ,sum(r.hours) as hours
        ,sum(r.total) as total
        ,r.view 
    from report r
    group by r.view 
21 июл 21, 21:58    [22349576]     Ответить | Цитировать Сообщить модератору
 Re: Тормозит простейший SQL - запрос, Что не так ?  [new]
gera3323
Member

Откуда:
Сообщений: 521
gera3323,

Точнее он вообще данный не возвращает.
21 июл 21, 22:04    [22349581]     Ответить | Цитировать Сообщить модератору
 Re: Тормозит простейший SQL - запрос, Что не так ?  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 3105
gera3323
gera3323,

Точнее он вообще данный не возвращает.


"Так нет" -не возвращает, или "Так тормозит"?


ps
нет команды выполнить :,/
.....
stax
22 июл 21, 09:30    [22349684]     Ответить | Цитировать Сообщить модератору
 Re: Тормозит простейший SQL - запрос, Что не так ?  [new]
PuM256
Member

Откуда:
Сообщений: 120
gera3323,

Union all тут не нужен. Откройте для себя group by rollup.
22 июл 21, 10:03    [22349704]     Ответить | Цитировать Сообщить модератору
 Re: Тормозит простейший SQL - запрос, Что не так ?  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 3105
PuM256
gera3323,

Union all тут не нужен. Откройте для себя group by rollup.


для ,'Вид 1' как будет выглядеть group by rollup?

.....
stax
22 июл 21, 10:13    [22349711]     Ответить | Цитировать Сообщить модератору
 Re: Тормозит простейший SQL - запрос, Что не так ?  [new]
PuM256
Member

Откуда:
Сообщений: 120
Stax,

Скорее всего, он не сильно-то и нужен. Значения те же, что и в первом запросе для r.view = 1.
22 июл 21, 10:17    [22349715]     Ответить | Цитировать Сообщить модератору
 Re: Тормозит простейший SQL - запрос, Что не так ?  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 3105
PuM256
Stax,

Скорее всего, он не сильно-то и нужен. Значения те же, что и в первом запросе для r.view = 1.


для программера, возможно и не нужен

но для бухов, даже может и очень нужен ,
иногда такое захотят, на вопрос - зачем, ответ - надо и усе

.....
stax
22 июл 21, 11:18    [22349744]     Ответить | Цитировать Сообщить модератору
 Re: Тормозит простейший SQL - запрос, Что не так ?  [new]
Кобанчег
Member

Откуда: Рахів
Сообщений: 867
gera3323,

select nvl(sort, y) sort, minutes, hours, total, view0
  from (select grouping_id(view0) as sort,
               sum(r.minutes) as minutes,
               sum(r.hours) as hours,
               sum(r.total) as total,
               view0,
               decode(view0,1,1) view1,
               null n
          from report r
         group by rollup(view0))
unpivot ((sort, view0) for y in ((sort, view0) as 1, (n, view1) as 2))
22 июл 21, 14:12    [22349879]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить