4
내가 같은 테이블이 말 다음SUM은
PK Code Value
1 A 200
2 A 300
3 A 25
4 A 75
5 A 50
6 A 15
7 A 300
8 A 75
을 코드 = A (즉 단지 (300)의 합계를 원하시는 곳은 최고 4 가장 높은 값의 값을 얻을 것입니다 방법 + 300 + 200 + 75)
감사
내가 같은 테이블이 말 다음SUM은
PK Code Value
1 A 200
2 A 300
3 A 25
4 A 75
5 A 50
6 A 15
7 A 300
8 A 75
을 코드 = A (즉 단지 (300)의 합계를 원하시는 곳은 최고 4 가장 높은 값의 값을 얻을 것입니다 방법 + 300 + 200 + 75)
감사
당신은 SUM
다음 그 상단 (4)를 얻을 수있는 파생 테이블 또는 공통 테이블 표현식을 사용할 수 있습니다. 당신이 모든 Code
의 TOP 4
의 SUM
을 원한다면
SELECT SUM(Value) As Top4Sum
FROM
(
SELECT TOP (4) Value
FROM YourTable
WHERE Code = 'A'
ORDER BY Value DESC
) T
당신은 아마 질문을 쓴 미스
;WITH CTE
AS (SELECT *,
ROW_NUMBER() OVER (PARTITION BY Code ORDER BY Value DESC) RN
FROM YourTable)
SELECT Code,
SUM(Value)
FROM CTE
WHERE RN <= 4
GROUP BY Code
할 수있는, 내가 코드 = A, I 퍼팅 생각하는 4 개 가장 높은 값의 합계를 원하는 상위 4 위는 실수였습니다 - 죄송합니다! – Adam
@ 아담 - 글쎄, 내가 쓴 코드는 (반환 875) –
환상적 - 고마워 마틴 :) – Adam