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

Откуда:
Сообщений: 202
Подскажите пожалуйста как выбрать данные из полученных результатов (itog), чтоб speed > 0. Вернее куда дописать select speed from ITOG where speed > 0 ?

select distinct time, speed,
case when speed<>0 and lag(speed,1,null) over(order by time)=0 and lead(speed,1,null) over(order by time)<>0 then speed
when speed=0 and lag(speed,1,null) over(order by time)<>0 then -lag(speed,1,null) over(order by time)
else 0
end ITOG
from auxeventarchive

where time between TO_DATE('25.05.2010 07:00:00', 'dd.mm.yyyy hh24:mi:ss') and TO_DATE('25.05.2010 19:00:00', 'dd.mm.yyyy hh24:mi:ss');

После того как я получу данные посредством case, хотелось бы дальше с ними поработать (вычесть разницу во времени и т.д.)
4 июн 10, 15:41    [8893745]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из CASE  [new]
Elic
Member

Откуда:
Сообщений: 29979
RTFM inline view (FAQ)
4 июн 10, 15:43    [8893773]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из CASE  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6723
afghanetz,

Используйте тэг src данного форума
select distinct	time, speed,
case	when speed<>0 and lag(speed,1,null) over(order by time)=0 and lead(speed,1,null) over(order by time)<>0 then speed
when speed=0 and lag(speed,1,null) over(order by time)<>0 then -lag(speed,1,null) over(order by time)
else 0
end ITOG
from auxeventarchive

where time between TO_DATE('25.05.2010 07:00:00', 'dd.mm.yyyy hh24:mi:ss') and TO_DATE('25.05.2010 19:00:00', 'dd.mm.yyyy hh24:mi:ss');
4 июн 10, 15:44    [8893786]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из CASE  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6723
afghanetz,

select speed from ITOG

Это вы себе как представляете?
4 июн 10, 15:45    [8893801]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из CASE  [new]
afghanetz
Member

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

когда писал сильно спешил. Надо ITOG > 0
4 июн 10, 15:47    [8893817]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из CASE  [new]
afghanetz
Member

Откуда:
Сообщений: 202
или даже можно чтоб не выводило 0

при выполнении запроса
select distinct	time, speed,
	case	when speed<>0 and lag(speed,1,null) over(order by time)=0 and lead(speed,1,null) over(order by time)<>0 then speed
		when speed=0 and lag(speed,1,null) over(order by time)<>0 then -lag(speed,1,null) over(order by time)
		else 0
	end resultat
from auxeventarchive xss

where time between TO_DATE('25.05.2010 07:00:00', 'dd.mm.yyyy hh24:mi:ss') and TO_DATE('25.05.2010 19:00:00', 'dd.mm.yyyy hh24:mi:ss');

выдаёт следующее

25.05.2010 12:41:58       0                      0                      
25.05.2010 12:44:58       4                      4                      
25.05.2010 12:45:49       2                      0                      
25.05.2010 12:47:13       3                      0                      
25.05.2010 12:47:54       2                      0                      
25.05.2010 12:48:44       2                      0                      
25.05.2010 12:49:47       1                      0                      
25.05.2010 12:50:39       2                      0                      
25.05.2010 12:51:28       3                      0                      
25.05.2010 12:52:03       2                      0                      
25.05.2010 12:52:46       2                      0                      
25.05.2010 12:53:29       3                      0                      
25.05.2010 12:54:03       3                      0                      
25.05.2010 12:54:42       2                      0                      
25.05.2010 12:55:23       2                      0                      
25.05.2010 12:55:59       3                      0                      
25.05.2010 12:58:20       2                      0                      
25.05.2010 12:59:05       1                      0                      
25.05.2010 12:59:48       3                      0                      
25.05.2010 13:00:18       2                      0                      
25.05.2010 13:00:52       3                      0                      
25.05.2010 13:01:35       3                      0                      
25.05.2010 13:02:26       3                      0                      
25.05.2010 13:02:55       3                      0                      
25.05.2010 13:03:40       3                      0                      
25.05.2010 13:04:26       2                      0                      
25.05.2010 13:05:12       1                      0                      
25.05.2010 13:06:03       3                      0                      
25.05.2010 13:06:53       2                      0                      
25.05.2010 13:07:45       1                      0                      
25.05.2010 13:08:27       3                      0                      
25.05.2010 13:09:18       3                      0                      
25.05.2010 13:10:04       3                      0                      
25.05.2010 13:10:40       3                      0                      
25.05.2010 13:11:34       3                      0                      
25.05.2010 13:12:03       2                      0                      
25.05.2010 13:13:00       1                      0                      
25.05.2010 13:13:51       1                      0                      
25.05.2010 13:14:39       3                      0                      
25.05.2010 13:15:21       0                      -3    
4 июн 10, 16:44    [8894562]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из CASE  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6723
afghanetz,

См. ответ Elic. (учитесь брать удочку, а не требовать ловить за вас рыбу)
4 июн 10, 16:47    [8894603]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из CASE  [new]
JaRo
Member

Откуда:
Сообщений: 1659
afghanetz, Вам ответили в первом же посте.
4 июн 10, 16:47    [8894604]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из CASE  [new]
afghanetz
Member

Откуда:
Сообщений: 202
env, я уже перевожу
З.Ы. я просто не владею английским языком.
4 июн 10, 16:53    [8894681]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из CASE  [new]
afghanetz
Member

Откуда:
Сообщений: 202
Вот так?

select *
from (
select     time, speed,
    case    when speed<>0 and lag(speed,1,null) over(order by time)=0 and lead(speed,1,null) over(order by time)<>0 then speed
        when speed=0 and lag(speed,1,null) over(order by time)<>0 then -lag(speed,1,null) over(order by time)
        else 0
    end g
from auxeventarchive
) v
where g > 0 and time between TO_DATE('26.05.2010 00:00:00', 'dd.mm.yyyy hh24:mi:ss') and TO_DATE('27.05.2010 00:00:00', 'dd.mm.yyyy hh24:mi:ss')
4 июн 10, 17:40    [8895158]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить