sql server 想对信息进行分组 每组最多50个 多出的部分需要增加一行
表结构如下
规格(ItmSpec) 数量(Qty)
Spec1 69
Spec2 148
Spec3 98
想要变成
规格(ItmSpec) 数量(Qty)
Spec1 50
Spec1 19
Spec2 50
Spec2 50
Spec2 48
Spec3 50
Spec3 48
SQL server 对数据进行拆分
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注 一个简单的with递归就行了
create table test_t (ItmSpec varchar(10),Qty int); insert into test_t values ('Spec1', 69); insert into test_t values ('Spec2', 148); insert into test_t values ('Spec3', 98); with t as ( select ItmSpec,case when Qty>=50 then 50 else Qty end q, Qty from test_t union all select ItmSpec,case when Qty-q>=50 then 50 else Qty-q end ,Qty-q from t where Qty-q>0) select ItmSpec,q from t order by 1,2 desc;
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
- ¥15 cmd cl 0x000007b
- ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
- ¥500 火焰左右视图、视差(基于双目相机)
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统