自动生成行序号
大约 1 分钟
查询语句,从 @temp 表中查询数据并为每行数据生成序号
提示
SELECT:这个关键字表示我们要开始一个查询操作,接下来会列出我们要查询的字段。
ROW_NUMBER() OVER:这是一个函数调用,用于生成序号。ROW_NUMBER() 函数会根据指定的分组字段和排序字段来为每一行数据生成一个序号。OVER 子句用于指定分组和排序的方式。
(PARTITION BY t.DocEntry ORDER BY t.ItemCode):这个子句用于指定分组和排序的方式。PARTITION BY 子句用于指定分组字段,这里我们使用了 t.DocEntry 作为分组字段。
ORDER BY 子句用于指定排序字段,这里我们使用了 t.ItemCode 作为排序字段。
AS RowNum:这个子句用于给生成的序号字段取一个别名,这里我们取了一个简单的别名 RowNum。
t.DocEntry, t.ItemCode, t.Quantity:这个子句用于列出我们要查询的字段。这里我们要查询的字段包括单据编号、物料编号和数量。
FROM @temp t:这个子句用于指定我们要查询的表名,这里我们要查询的表名是 @temp,并且指定了一个别名 t。
示例代码
SELECT
-- 使用 ROW_NUMBER() 函数生成序号,OVER 子句用于指定分组和排序方式
ROW_NUMBER() OVER (PARTITION BY t.DocEntry ORDER BY t.ItemCode) AS RowNum, -- 生成的序号字段别名为 RowNum
t.DocEntry, -- 查询单据编号
t.ItemCode, -- 查询物料编号
t.Quantity -- 查询数量
FROM
@temp t -- 查询的表名为 @temp,别名为 t