Re: Group by a range of values - Mailing list pgsql-sql

From Torsten Grust
Subject Re: Group by a range of values
Date
Msg-id CAGqkgpgDH7O_AqtPcY91y2TrPaEF4oe-jFwuqXeuFCedgSAUXw@mail.gmail.com
Whole thread Raw
In response to Group by a range of values  (Mike Martin <redtux1@gmail.com>)
Responses Re: Group by a range of values  (Rob Sargent <robjsargent@gmail.com>)
List pgsql-sql
Hi,

maybe this does the job already (/ is integer division):

SELECT i, 1 + (i-1) / 3 
FROM   generate_series(1,10) AS i;

An expression like (i-1) / 3 could, of course, also be used as partitioning criterion in GROUP BY and/or window functions.

Cheers,
  —T

On Sat, Aug 1, 2020 at 2:15 PM Mike Martin <redtux1@gmail.com> wrote:
Say I have a field of ints, as for example created by with ordinality or generate_series, is it possible to group by a range? eq

1,2,3,4,5,6,7,8,9,10
step 3
so output is

1 1
2 1
3 1
4 2
5 2
6 2
7 3
8 3
9 3
10 4

thanks


--
| Torsten Grust
| Torsten.Grust@gmail.com

pgsql-sql by date:

Previous
From: Mike Martin
Date:
Subject: Group by a range of values
Next
From: Rob Sargent
Date:
Subject: Re: Group by a range of values