sql >> Base de Datos >  >> RDS >> Oracle

Oracle SQL Crear PDF a partir de datos

Puede intentar usar WIDTH_BUCKET función.

select bucket , count(name) 
  from (select name, spend,
               WIDTH_BUCKET(spend, 0, 200, 4) bucket
          from mytable
       )
group by bucket
order by bucket;

Aquí he dividido el rango de 0 a 200 en 4 cubos. Y la función asigna un número de cubo a cada valor. Puede agrupar por este depósito y contar cuántos registros caen en cada depósito.

Demostración aquí .

Incluso puede mostrar el rango real del cubo.

select bucket,
       cast(min_value + ((bucket-1) * (max_value-min_value)/buckets) as varchar2(10))
       ||'-'
       ||cast(min_value + ((bucket) * (max_value-min_value)/buckets) as varchar2(10)),
       count(name) c 
  from (select name,
               spend,
               WIDTH_BUCKET(spend, min_value, max_value, buckets) bucket
          from mytable)
 group by bucket
 order by bucket;

Muestra aquí .