Re: Seleccionar records de intervalo de 15m

From: Lautaro Palamidessi <lpalamidessi(at)conexia(dot)com>
To: Edwin Quijada <listas_quijada(at)hotmail(dot)com>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Seleccionar records de intervalo de 15m
Date: 2019-05-29 17:01:54
Message-ID: CANQT3zXVjB2foJhBsFHKKq4J8c9UENgvOPH_dk3_02kOeq+74A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Fijate si esto te sirve: No será muy elegante pero anda.
Suponiendo que tenes una tabla "public.ejemplo" formada por id y fecha, se
basa en generar los intervalos de a 15 minutos con GENERATE_SERIES y pedir
en el "ON..." que "fecha" quede abarcada en el intervalo.
El left join solo es para que el intervalo que no tenga registros, aparezca
igual con cantidad cero.
No sé cómo se comportará con grandes volúmenes, debe haber opciones mejores.

SELECT 'Entre ' || intervalo.intervalo || ' y ' || intervalo.intervalo +
'15 minutes'::interval as intervalo,
sum( case when id is null then 0 else 1 end) as cantidad
FROM generate_series( (select min( date_trunc('hour', fecha)) from
ejemplo), (select max(date_trunc('hour', fecha)) from ejemplo), '15
minutes'::interval) as intervalo LEFT JOIN public. ejemplo ON fecha >=
intervalo.intervalo and fecha < intervalo.intervalo + '15 minutes'::interval
GROUP BY 1
ORDER BY 1

Saludos.

El mié., 29 may. 2019 a las 13:10, Edwin Quijada (<
listas_quijada(at)hotmail(dot)com>) escribió:

> Hola!
> Estoy tratando de hacer una seleccion de registros, o clasificacion, con
> un intervalo de 15 minutos entre ellos. LO tengo hecho con java pero queria
> ver si es posible hacerlo desde SQL.
> La salida seria algo como
>
> 9:00 9:15 9:30 10:00.....
> 4 5 21 12
>
> Solo es un conteo de records en cada intervalo encontrado, el intervalo
> seria consntante empezando desde las 9am hasta las 8pm
> Alguna idea?
>
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Wilson del rosario 2019-05-29 18:04:09 Re: Como inhabilitar el acceso a postgres cambiando MD5 a Trust en PG
Previous Message Edwin Quijada 2019-05-29 16:10:25 Seleccionar records de intervalo de 15m