sql >> Database teknologi >  >> RDS >> Oracle

Oracle SQL Opret PDF fra data

Du kan prøve at bruge WIDTH_BUCKET fungere.

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

Her har jeg delt intervallet 0 til 200 op i 4 spande. Og funktionen tildeler et spandnummer til hver værdi. Du kan gruppere efter denne spand og tælle, hvor mange reocrds der falder i hver spand.

Demo her .

Du kan endda vise det faktiske spandområde.

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;

Prøv her .



  1. Indsæt liste i min database ved hjælp af Python

  2. Brug af Substr med Instr til at udtrække en streng i Oracle

  3. Hvorfor matcher _ (understregning) - (bindestreg)?

  4. SQL kumulativt antal