【发布时间】:2012-03-26 17:20:26
【问题描述】:
到底如何,我如何在不使用 ROW_NUMBER 的情况下计算一行(因为我使用 15 个连接并且 row_number 返回愚蠢的值)。
在进行 15 次连接后 .. 查询将选择 4 或 5 行,我需要为它们添加一个计数器,例如 1、2、3、4、5。
我已尝试使用 ROW_NUMBER,但它不适合这里?是否有一个函数可以计算输出的每一行?
我还尝试了 declare @inc int set @inc = 0 并在 select 语句中:select @inc:=@inc+1 as inc 和 select @inc = @inc + 1 as inc 并且不起作用(Incorrect syntax near ':'.)
【问题讨论】:
-
您应该向我们展示您的查询。
-
查询有 150 行 .. 表有超过 1000 万条记录
-
ROW_NUMBER()有效。试试ROW_NUMBER()OVER(ORDER BY SameOrderAsQuery)As RowNumber。不管你的桌子有多大。 -
我不知道如何订购,因为我想按 start_date 订购 .. 并且 start_date 是在
CASE WHEN END as start_date中生成的 -
@purfos:您可以在
ROW_NUMBER函数中使用相同的CASE。
标签: sql sql-server tsql