如何过滤最大行号的窗口函数?

时间:2013-02-23 16:17:01

标签: sql-server windowing

我正在尝试获取分区结果中的最大行。如何按属性编号划分每个返回的最大行数。我想要的是标记为2的行,因为这是集合中的最后一个值。如果属性编号没有后续编号,那么我想要那个(红色箭头)。

以下是我的结果图。

目前,我正在制作一个临时表,并根据属性编号和最大值(行)进行分组,然后使用它来过滤这组数据。

我确信在不浪费太多临时空间的情况下可能会有更好的方法。 enter image description here

1 个答案:

答案 0 :(得分:0)

类似的东西:

WITH CTE
AS
(
  SELECT *,
    ROW_NUMBER OVER(PARTITION BY ROW 
                    ORDER BY PropertyNumber DESC) AS Rownumber
  FROM tablename
)
SELECT *
FROM CTE
WHERE rownum = 1;