아래 쿼리를 작성한 후 마지막 행에 1000이라는 초기 값을 가진 다른 열을 작성하려고 시도한 후 원래 1000을 mdp.DataPointValue로 곱한 다음 이니셜 1000은 새로 계산 된 값을 사용합니다.이전에 계산 된 행 레코드를 기반으로 한 SQL 곱하기
예를 들어, 5/25/10에 시작 값을 1000으로 지정하고 싶습니다. 5/26/10에 mdp.DataPointValue * 이전 값 (첫 번째 값은 1000)이므로 에.
SELECT AsOfDate, mdp.DataPointValue,
1000 * exp(sum(log(mdp.DataPointValue)) over (order by AsOfDate))
FROM DataPointPITs mdp
WHERE mdp.DataPointId = '2710' AND AsOfDate > '2010-05-25'
ORDER BY AsOfDate DESC;
이전 열 * DPValue가 아닌 열 이름이 어디인지 찾는 데 필요하지만 5/25/10으로 시작해야합니다. 1000 * AsOfDate DataPointValue (열 이름 없음) * 6/1/2,010 0.81 * 0.934 1059.144652 1307.58599 /2천10분의 28 5 * 1.327 1399.985 /2,010분의 27 5 * 26// 2,010 1.055 1,055 * 5/25/2010 0.951 1000 @ djk11 – djk11
5. . . 이게 뭐지? –
@ djk11 . . 나는 대답을 고쳤다. SQL Server는'log()'함수를 호출합니다. –