我想使用ROW_NUMBER()函数并获取第一个和最新值。 我写波纹管查询。但是我出错了。
除非还指定了TOP,OFFSET或FOR XML,否则ORDER BY子句在视图,内联函数,派生表,子查询和公用表表达式中无效。
帮我解决问题。 sql查询下方
after_subtraction = item.join.to_i - 1
答案 0 :(得分:1)
row_number
函数可以自己进行聚合和排序,因此无需在子查询中使用group by
或order by
(order 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