2017-09-18 1 views
0

날짜와 int 값이있는 SQL 테이블이 있고이 int 값의 합계가 날짜별로 점점 커지는 새 열을 만들고 싶습니다.SQL을 날짜별로 합하는 방법은 무엇입니까?

마찬가지로 [date1, date2, date3] 및 [1, 2, 3] 열이있는 경우 [1, 3, 6]을 사용하여 새 열을 원합니다. 내가 어떻게 해? 만약 내가 제대로 이해하고

+5

태그 귀하의 질문을 사용하는 데이터베이스. 또한 샘플 데이터와 원하는 결과를 제공하십시오. –

+2

Wbich RDBMS를 사용하고 있습니까? –

답변

0

, 당신은 +을 사용합니다 :

select col1 as newcol1, (col1 + col2) as newcol2, (col1 + col2 + col3) as newcol3 
. . . 
0

나는이의 합에 새 열을 만들려면 날짜별로 increseangly 값 을 int로.

당신은 당신이 사용하고 있지만, SQL Server 또는 postegre, 또는 순위 기능을 지원하는 데이터베이스 시스템을 사용하는 경우 RDBMS 어떤 언급하지 않았다, 당신은이 작업을 수행 할 수 있습니다

WITH CTE 
AS 
(
    SELECT [Date], id, 
    row_number() over(order by date) as rn 
    FROM table1 
) 
SELECT 
    Date, id, 
    (SELECT SUM(id) FROM CTE AS c2 WHERE c2.rn <= c1.rn) AS Sum 
FROM CTE as c1; 

이를 당신을 줄 것이다 :

| Date | id | Sum | 
|-------|----|-----| 
| date1 | 1 | 1 | 
| date2 | 2 | 3 | 
| date3 | 3 | 6 | 

demo

관련 문제