有一种简单的方法可以在简单的SELECT中获取当前项的编号吗?我需要根据计算提供一个列,该计算涉及select中当前索引的编号。我将我的问题简化为极端,但粗略地说,这是一个例子:
SELECT column1 * ITEMINDEX FROM table
我希望我很清楚。我正在使用SQL Server。谢谢。
答案 0 :(得分:7)
在SQL Server 2005+
:
SELECT m.*, ROW_NUMBER() OVER (ORDER BY column) AS rn
FROM mytable m
SQL
没有隐式行号的概念,这就是为什么需要ORDER BY
子句来定义行的顺序。