Dificuldade com Função Window

1. Dificuldade com Função Window

Luiz Rogerio De Pieri
lelopieri

(usa Linux Mint)

Enviado em 06/03/2017 - 16:35h

Caros,

Tenho uma situação que creio que possa ser resolvida utilizando a função Window, entretanto não estou conseguindo.
Vou simplificar o caso para melhor compreensão.
Imagine a seguinte tabela:


date id_tipo
2017-01-10 07:19:21.0 3
2017-01-10 07:19:22.0 3
2017-01-10 07:19:23.1 3
2017-01-10 07:19:24.1 3
2017-01-10 07:19:25.0 3
2017-01-10 07:19:26.0 5
2017-01-10 07:19:27.1 3
2017-01-10 07:19:28.0 5
2017-01-10 07:19:29.0 5
2017-01-10 07:19:30.1 3
2017-01-10 07:19:31.0 5
2017-01-10 07:19:32.0 3
2017-01-10 07:19:33.1 5
2017-01-10 07:19:35.0 5
2017-01-10 07:19:36.1 5
2017-01-10 07:19:37.1 5


Eu quero que cada vez que ocorra uma mudança na coluna id_tipo, seja criado um novo grupo
Ou seja, quero obter o primeiro grupo iniciando às 7:19:21 e terminando às 7:19:25, o segundo iniciando e terminando às 7:19:26, e assim sucessivamente.
Depois ainda quero incluir quebras por outras colunas, mas nem por esta mais simples ainda não consegui.

No momento, com a consulta abaixo:

SELECT distinct min(min(date)) over w as inicio, max(max(date)) over w as fim,
id_time_type_farm_structure
from tmp
GROUP BY id_time_type_farm_structure
WINDOW w as (
PARTITION BY id_time_type_farm_structure
)
order by inicio;


Eu obtenho o seguinte resultado:

inicio fim id_time_type_farm_structure
2017-01-10 07:19:21.0 2017-01-10 07:19:32.0 3
2017-01-10 07:19:26.0 2017-01-10 07:19:37.1 5


Alguém poderia me auxiliar?


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts