sql >> Database >  >> RDS >> Oracle

Oracle SQL PDF maken van gegevens

U kunt proberen WIDTH_BUCKET te gebruiken functie.

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

Hier heb ik het bereik 0 tot 200 verdeeld in 4 emmers. En de functie wijst een bucketnummer toe aan elke waarde. Je kunt groeperen op deze bucket en tellen hoeveel records er in elke bucket vallen.

Demo hier .

U kunt zelfs het werkelijke bereik van de emmer weergeven.

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;

Voorbeeld hier .



  1. De ORDER BY-component is ongeldig in views, inline-functies, afgeleide tabellen, subquery's en algemene tabelexpressies

  2. SQL ORDER BY met CASE met UNION ALL

  3. Hoe gewijzigde gegevens in de database bijwerken met behulp van JTable?

  4. Vervang het hele woord met ms sql server Replace