如何根据SQL Server中的条件生成序列号?

时间:2017-03-23 06:26:38

标签: sql-server-2012

我有一个名为" ABC"。

的表名

" ABC"表格格式:

Operation   Status    value
----------------------------
OP10          1        100
OP10          1        200
OP10          2        300
OP20          1        400
OP20          3        500
OP30          1        100
OP30          2        200

我需要根据操作生成序列号。

例如:预期产出

SNo   Operation   Status    Value
-----------------------------------
1      OP10          1        100
1      OP10          1        200
1      OP10          2        300
2      OP20          1        400
2      OP20          3        500
3      OP30          1        100
3      OP30          2        200

如何以上述格式化输出获得结果。

1 个答案:

答案 0 :(得分:0)

您可以使用DENSE_RANK()

SELECT DENSE_RANK() OVER (ORDER BY Operation) SNo,
       Operation, Status, Value
FROM yourTable
ORDER BY Value

<强>输出:

enter image description here

在这里演示:

Rextester