有个SQL分组查询有关问题,应该不是很难,求教,
有个SQL分组查询问题,应该不是很难,求教,急?
四列数,每8个分1组,要求查询每组中的6个,按forder1升序排列,得到前3列和后3列
ftype forder1 forder2 forder3
1 5.05 3.94 1.54
1 4.42 3.77 1.64
1 6.96 4.64 1.35
1 2.96 3.3 2.18
1 2.47 3.04 2.82
1 2.01 3.26 3.43
1 1.04 13.67 31.35
1 6.2 4.22 1.49
2 2.62 3.14 2.71
2 1.26 5.23 11.42
2 2.22 3.02 3.49
2 1.75 3.44 4.86
2 2.43 3.11 2.98
2 1.67 3.53 5.32
2 2.02 3.5 3.59
2 2.56 3.26 2.73
3 1.74 3.69 4.51
3 1.55 4.19 5.63
3 1.62 3.73 5.53
3 2.76 3.28 2.52
3 1.23 5.6 13.2
3 1.3 5.17 9.88
3 3.82 3.36 1.97
3 2.38 3.16 3.03
------解决思路----------------------
四列数,每8个分1组,要求查询每组中的6个,按forder1升序排列,得到前3列和后3列
ftype forder1 forder2 forder3
1 5.05 3.94 1.54
1 4.42 3.77 1.64
1 6.96 4.64 1.35
1 2.96 3.3 2.18
1 2.47 3.04 2.82
1 2.01 3.26 3.43
1 1.04 13.67 31.35
1 6.2 4.22 1.49
2 2.62 3.14 2.71
2 1.26 5.23 11.42
2 2.22 3.02 3.49
2 1.75 3.44 4.86
2 2.43 3.11 2.98
2 1.67 3.53 5.32
2 2.02 3.5 3.59
2 2.56 3.26 2.73
3 1.74 3.69 4.51
3 1.55 4.19 5.63
3 1.62 3.73 5.53
3 2.76 3.28 2.52
3 1.23 5.6 13.2
3 1.3 5.17 9.88
3 3.82 3.36 1.97
3 2.38 3.16 3.03
------解决思路----------------------
with tb as
(
select *,row_number()over(partition by ftype order by forder1)rn from table1
),
select * from tb where rn not in (4,5)