[SQL] SQL 서버의 열의 합계를 실행 얻는 방법
SQLSQL 서버의 열의 합계를 실행 얻는 방법
안녕 나는 테이블 청구서에서 이름 수량과 열이 나는이 같은 수량 컬럼의 누적 합계를 보여 열을 원하는 :
Qty Run_Sum
1 1
2 3
3 6
4 10
5 15
좀 thankx를 실행 할 몇 가지 적절한 방법을 제안
해결법
-
==============================
1.당신이 지원하는 윈도우 기능을 RDBMS 경우,
당신이 지원하는 윈도우 기능을 RDBMS 경우,
SQL 서버 2012
SELECT Qty, SUM(Qty) OVER (ORDER BY Qty) AS CumulativeTOTAL FROM tableName
-
==============================
2.SQL 휘티 d 혀라도
SQL 휘티 d 혀라도
SELECT Qty, SUM(Qty) OVER (ORDER BY Qty) Run_Sum FROM t ORDER BY Qty
SQLServer에 2012 년 이전 :
select Qty, (select sum(Qty) from t where Qty<=t1.Qty) from t t1 order by Qty
SQL 휘티 d 혀라도
또는 또한 당신은 부질없이 그것을 할 수 있습니다 :
select t1.Qty, sum(t2.Qty) from t t1 join t t2 on (t1.Qty>=t2.Qty) group by t1.Qty order by t1.Qty
SQL 휘티 d 혀라도
-
==============================
3.여기에 오라클 / 분석 기능을 사용하여 샘플입니다 :
여기에 오라클 / 분석 기능을 사용하여 샘플입니다 :
select id, qty, sum(qty) over(order by id asc) run_sum from test;
http://www.sqlfiddle.com/#!4/3d149/1
-
==============================
4.이 옵션을 선택합니다
이 옵션을 선택합니다
DECLARE @TEMP table ( ID int IDENTITY(1,1), QUANTITY int ) INSERT INTO @TEMP SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 8 UNION ALL SELECT 7 UNION ALL SELECT 5 UNION ALL SELECT 1 SELECT t.QUANTITY AS Qty, SUM(t1.QUANTITY) AS Run_Sum FROM @TEMP t INNER JOIN @TEMP t1 ON t1.ID <= t.ID GROUP BY t.ID, t.QUANTITY ORDER BY t.ID
-
==============================
5.
;with cte as ( select top 1 Qty, Qty as RunningSum from Bills order by Qty union all select t.Qty, cte.RunningSum + t.Qty from cte inner join Bills t on cte.Qty + 1 = t.Qty ) select * from cte
-
==============================
6.@mahmud : 이주는 무슨보기
@mahmud : 이주는 무슨보기
DECLARE @Bills table ( QUANTITY int ) INSERT INTO @Bills SELECT 2 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 1 UNION ALL SELECT 3 UNION ALL SELECT -5 UNION ALL SELECT 5 UNION ALL select 1 ;with cte as ( select top 1 QUANTITY, QUANTITY as RunningSum from @Bills order by QUANTITY union all select t.QUANTITY, cte.RunningSum + t.QUANTITY from cte inner join @Bills t on cte.QUANTITY + 1 = t.QUANTITY ) select * from cte
from https://stackoverflow.com/questions/14953294/how-to-get-running-sum-of-a-column-in-sql-server by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 SQL에 소수점을 계산합니까? (0) | 2020.07.05 |
---|---|
[SQL] SQL 쿼리 최신 가격을 얻으려면 (0) | 2020.07.05 |
[SQL] 어떻게 테이블의 모든 열을 검색 할 수 있습니다? (0) | 2020.07.05 |
[SQL] 이유는 명시 적으로 SQL에서 "GROUP BY"절을 모든 열을 지정해야합니까 - 왜 안 "GROUP BY *"? (0) | 2020.07.05 |
[SQL] 데이터베이스 필드에서 특수 문자를 제거 (0) | 2020.07.05 |