SELECT *
FROM ( SELECT row_number() OVER ( PARTITION BY billid, mxitemno ORDER BY itemno ) rn ,
billid ,
itemno ,
mxitemno
FROM mnf_manuorderdetail
) a
FROM ( SELECT row_number() OVER ( PARTITION BY billid, mxitemno ORDER BY itemno ) rn ,
billid ,
itemno ,
mxitemno
FROM mnf_manuorderdetail
) a
这个地方是不是描述不正确,应该是“条件: 当billid=billid 时 , 当mxitemno不相同时, vipitemno按顺序排列”吧。
下面的语句就是按照mxitemno实现的,方法都差不多,如果不是,自己对字段修改一下就可以了。
利用PARTITION BY应该可以实现你想要的结果。
select * from mnf_manuorderdetail