ROW_NUMBER中的SQL ORDER BY子句ERROR

时间:2018-09-13 03:34:57

标签: sql-server row-number

我想使用ROW_NUMBER()函数并获取第一个和最新值。 我写波纹管查询。但是我出错了。

  

除非还指定了TOP,OFFSET或FOR XML,否则ORDER BY子句在视图,内联函数,派生表,子查询和公用表表达式中无效。


帮我解决问题。 sql查询下方

after_subtraction = item.join.to_i - 1

1 个答案:

答案 0 :(得分:1)

row_number函数可以自己进行聚合和排序,因此无需在子查询中使用group byorder byorder by在子查询中将不起作用,因为你看过)。不过,您是否想要partition by opp_id或opp_id和prj_id尚不清楚。但这应该是您想要的:

SELECT *
FROM(
    SELECT OPP_ID,PRJ_ID,
        ROW_NUMBER() OVER (PARTITION BY OPP_ID ORDER BY CREATION_DATE DESC) AS RN
    FROM OPPOR
    ) OP
WHERE OP.RN = 1