我需要为每个sequence number
生成three rows
一些范围。这可以在没有迭代的情况下完成。
示例:
sequence
--------
1
1
1
2
2
2
3
3
3
答案 0 :(得分:17)
使用此Analytic function
SELECT ( ( Row_number()OVER(ORDER BY order_by_column ) - 1 ) / 3 ) + 1 seq_no,
*
FROM tablename