SQL特殊排序
想根据商品编号和进价两个字段进行排序,商品编号相同的按进价排序,实际以下效果
商品编号 进价 采购员 排序
10000611.900000陈雅1
10000611.800000王玲波2
10000611.700000张红3
1000082.790000陈雅1
1000082.780000王玲波2
1000082.750000张红3
1000126.600000陈雅1
1000126.400000王玲波2
1000126.000000王玲波3
这个SQL语句应该如何写?
[解决办法]
declare @A table(商品编号 int,进价 decimal(18,6),采购员 nvarchar(4))insert into @Aselect 100006, 11.900000, N'陈雅' union allselect 100006, 11.800000, N'王玲波' union allselect 100008, 2.780000, N'王玲波' union allselect 100008, 2.750000, N'张红' union allselect 100012, 6.600000, N'陈雅' union allselect 100012, 6.400000, N'王玲波' union allselect 100012, 6.000000, N'王玲波' union allselect 100006, 11.700000, N'张红' union allselect 100008, 2.790000, N'陈雅'select *,row_number() over(partition by 商品编号 order by 商品编号,进价 desc) rn from @A/*(9 row(s) affected)商品编号 进价 采购员 rn----------- --------------------------------------- ---- --------------------100006 11.900000 陈雅 1100006 11.800000 王玲波 2100006 11.700000 张红 3100008 2.790000 陈雅 1100008 2.780000 王玲波 2100008 2.750000 张红 3100012 6.600000 陈雅 1100012 6.400000 王玲波 2100012 6.000000 王玲波 3(9 row(s) affected)*/