add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
create table tb (item integer, num integer, sn text);
insert into tb (item, num, sn) values (1,11,'a'),(2,11,'b'),(3,11,'c'),(4,11,'d'),(5,11,'e'),(6,11,'f'),(7,11,'g'),(8,11,'h'),(9,11,'i'),(10,11,'j'),(11,11,'k'),(12,11,'L');
select * from tb;
item num sn
1 11 a
2 11 b
3 11 c
4 11 d
5 11 e
6 11 f
7 11 g
8 11 h
9 11 i
10 11 j
11 11 k
12 11 L
select (item -1)/5 as q , (item - (item -1)/5*5) as mod ,sn from tb;
q mod sn
0 1 a
0 2 b
0 3 c
0 4 d
0 5 e
1 1 f
1 2 g
1 3 h
1 4 i
1 5 j
2 1 k
2 2 L
select main.q, coalesce(a.sn,'') as m1, coalesce(b.sn,'') as m2, coalesce(c.sn,'') as m3, coalesce(d.sn,'') as m4, coalesce(e.sn,'') as m5
from
(select (item -1)/5 as q from tb group by q) main
left join (select (item -1)/5 as q , (item - (item -1)/5*5) as mod ,sn from tb where mod =1) a on main.q=a.q
left join (select (item -1)/5 as q , (item - (item -1)/5*5) as mod ,sn from tb where mod =2) b on main.q=b.q
left join (select (item -1)/5 as q , (item - (item -1)/5*5) as mod ,sn from tb where mod =3) c on main.q=c.q
left join (select (item -1)/5 as q , (item - (item -1)/5*5) as mod ,sn from tb where mod =4) d on main.q=d.q
left join (select (item -1)/5 as q , (item - (item -1)/5*5) as mod ,sn from tb where mod =5) e on main.q=e.q
q m1 m2 m3 m4 m5
0 a b c d e
1 f g h i j
2 k L
select tb.*, m1||m2||m3||m4||m5 as sn_total
from tb
left join(
select main.q, coalesce(a.sn||',','') as m1, coalesce(b.sn||',','') as m2, coalesce(c.sn||',','') as m3, coalesce(d.sn||',','') as m4, coalesce(e.sn||',','') as m5
from
(select (item -1)/5 as q from tb group by q) main
left join (select (item -1)/5 as q, sn from tb where (item - (item -1)/5*5) = 1) a on main.q=a.q
left join (select (item -1)/5 as q, sn from tb where (item - (item -1)/5*5) = 2) b on main.q=b.q
left join (select (item -1)/5 as q, sn from tb where (item - (item -1)/5*5) = 3) c on main.q=c.q
left join (select (item -1)/5 as q, sn from tb where (item - (item -1)/5*5) = 4) d on main.q=d.q
left join (select (item -1)/5 as q, sn from tb where (item - (item -1)/5*5) = 5) e on main.q=e.q
) g
on (tb.item - 1) / 5 = g.q
item num sn sn_total
1 11 a a,b,c,d,e,
2 11 b a,b,c,d,e,
3 11 c a,b,c,d,e,
4 11 d a,b,c,d,e,
5 11 e a,b,c,d,e,
6 11 f f,g,h,i,j,
7 11 g f,g,h,i,j,
8 11 h f,g,h,i,j,
9 11 i f,g,h,i,j,
10 11 j f,g,h,i,j,
11 11 k k,L,
12 11 L k,L,