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