2013-02-23 3 views
-1

파티션 된 결과에서 최대 행을 얻으려고합니다. 속성 번호별로 파티션을 나누는 각 반환에 대해 최대 행을 어떻게 얻을 수 있습니까? 내가 원하는 것은 그 행의 마지막 값이기 때문에 2로 표시된 행입니다. 속성 번호에 후속 번호가 없으면 그 번호를 원합니다 (빨간색 화살표).최대 행 번호에 대해 윈도우 기능을 필터링하는 방법은 무엇입니까?

다음은 내 결과 그림입니다.

현재 임시 테이블을 만들고 속성 번호와 최대 값 (행)을 기준으로 그룹을 만들고이 값을 사용하여이 데이터 집합을 필터링합니다.

너무 많은 임시 공간을 낭비하지 않는 것이 더 나은 방법 일 것입니다. enter image description here

+0

당신이 실행 전체 쿼리를 보일 수 있는가? –

답변

1

뭔가 같은 :

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

그것은'ROW_NUMBER() OVER (...)' –

+0

@ypercube 죄송합니다, 지금 고정 –