Попытка получить этот вывод в Oracle 8i:Min Max с идентификаторами - Oracle
column1 |time
________|_______
ABC | 00:00:01
END | 00:00:03
123 | 00:00:04
END | 00:00:07
ABC | 00:00:08
END | 00:00:10
с этим выходом из другого запроса
column1 |time |ID
________|___________|
ABC | 00:00:01 | 1
ABC | 00:00:02 | 1
ABC | 00:00:03 | 1
123 | 00:00:04 | 1
123 | 00:00:05 | 1
123 | 00:00:06 | 1
123 | 00:00:07 | 1
ABC | 00:00:08 | 2
ABC | 00:00:09 | 2
ABC | 00:00:10 | 2
Этот запрос получает мин и макс без учета ID.
select (case when n.n = 1 then column1 else 'END' end) as column1,
(case when n.n = 1 then firsttime else lasttime end) as "time"
from (select column1, min(time) as firsttime, max(time) as lasttime
from t
group by column1
) t cross join
(select 1 as n from dual union all select 2 from dual) n
order by column1, n.n;
Как сделать то же самое, но вместо того, чтобы получать первое и последнее значение для вхождения в столбце1, также учитывайте идентификатор?
заменить 'GROUP BY column1' на' GROUP BY column1, id'? –
Я думаю, вы хотите «заказать по t.firsttime, t.column1, n.n', а также сохранить смежные значения вместе? –