Create sequnce number for every 3 rows in SQL

I need to create sequence number

for each three rows

with some range. it can be done without iteration.

Example:

sequence
--------
1
1
1
2
2
2
3
3
3

      

+3


source to share


1 answer


Use Analytic function



SELECT ( ( Row_number()OVER(ORDER BY order_by_column ) - 1 ) / 3 ) + 1 seq_no,
              *
       FROM   tablename

      

+17


source







All Articles