34,576
社区成员
发帖
与我相关
我的任务
分享
create table #orders
(
orderid varchar(50),
product varchar(50),
num int
);
insert into #orders
select '001','笔记本','20'
union
select '002','台式机','30'
union
select '002','笔记本','10'
union
select '003','台式机','15';
select
DENSE_RANK() over(order by [orderid]) as 订单序号
,orderid,ROW_NUMBER() over (partition by orderid order by num desc) as 行号
,product,num
from #orders tb1
IF OBJECT_ID('tb') IS NOT NULL
DROP TABLE tb
GO
CREATE TABLE TB(orderid VARCHAR(10),productName VARCHAR(20),num INT)
INSERT INTO tb
SELECT '001', '笔记本', 20 UNION ALL
SELECT '002','台式机', 30 UNION ALL
SELECT '002','笔记本', 10 UNION ALL
SELECT '003','台式机', 15
go
SELECT CAST(orderid AS int) AS '订单序号',
orderid AS '订单号',
ROW_NUMBER() OVER (PARTITION BY orderid ORDER BY GETDATE() ) AS '行号',
productName AS '产品',
num AS 数量
FROM tb
/*订单序号 订单号 行号 产品 数量
----------- ---------- -------------------- -------------------- -----------
1 001 1 笔记本 20
2 002 1 台式机 30
2 002 2 笔记本 10
3 003 1 台式机 15
(4 行受影响)*/
create table tb(订单号 varchar(32),产品 nvarchar(32),数量 int)
go
insert into tb select '001','笔记本',20 union all
select '002','台式机',30union all
select '002','笔记本',10union all
select '003','台式机',15
select row_number() over (order by 订单号)as 订单序号,订单号, ROW_NUMBER() over(PARTITION BY 订单号 ORDER BY 订单号 DESC),产品,数量
from tb
/*
订单序号 订单号 (无列名) 产品 数量
1 001 1 笔记本 20
2 002 1 台式机 30
3 002 2 笔记本 10
4 003 1 台式机 15
*/