次のテーブルがあるとします。
create temp table test (id serial, number integer);
insert into test (number)
values (5), (4), (3), (2), (1), (0);
降順で並べ替えると、次のようになります。
select * from test order by number desc;
id | number
---+--------
1 | 5
2 | 4
3 | 3
4 | 2
5 | 1
6 | 0
番号の昇順で並べ替えると、次のようになります。
select * from test order by number asc;
6 | 0
5 | 1
4 | 2
3 | 3
2 | 4
1 | 5
行ごとに昇順と降順が交互になるように順序をストライプ化するにはどうすればよいですか? 例えば:
6 | 0 or 1 | 5
1 | 5 6 | 0
5 | 1 2 | 4
2 | 4 5 | 1
4 | 2 3 | 3
3 | 3 4 | 2