数据库SQL语句,实现一下查询需要什么函数
原有数据表: 单号 品名 规格 订单数量 要求每包数量
B220702002 AF-DF A-A-A 2100 500
需要查询后的数量:
序号 单号 品名 规格 订单数量 本包数量
1 B220702002 AF-DF A-A-A 2100 500
2 B220702002 AF-DF A-A-A 2100 500
3 B220702002 AF-DF A-A-A 2100 500
4 B220702002 AF-DF A-A-A 2100 500
5 B220702002 AF-DF A-A-A 2100 100
select
b.help_topic_id+1 as num_id,a.order_id,a.name,a.type,a.order_nums,
case when (b.help_topic_id+1) < ceil(a.order_nums /a.single_nums) then a.single_nums else a.order_nums % a.single_nums end as single_nums
from
orders a
join mysql.help_topic b on b.help_topic_id < ceil(a.order_nums /a.single_nums );
你的数据都是一样的吗,还是只有最后一条从500变成100了
如果都是一样的数据,那你直接union五份数据,然后再row_number()函数排个序就可以出来前面的序号
如果最后一条是100的也可以用上面的方法,只是union的时候你改动一下,将500换成100 union进去
你的数据库是什么?Oracle的话可以用伪列,MySQL的话需要用自身的库mysql.help_topic