请帮忙在sql查询输出 [英] please help in sql query output
本文介绍了请帮忙在sql查询输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我如何获得此类输出
A b
5 5
6 11
3 14
意思是b = b + a
解决方案
我认为这是你的一个很好的例子正在努力
http: //www.sqlservercentral.com/Forums/Topic707938-392-1.aspx#bm708015 [ ^ ]
试试这个:
< span class =code-keyword> DECLARE @ myValues TABLE (ID INT IDENTITY ( 1 , 1 ),A INT )
INSERT INTO @ myValues (A)
SELECT 5 AS A
UNION ALL SELECT 6
UNION ALL SELECT 3
; WITH CTEBalance
AS
(
SELECT ID,A
FROM @ myValues
)
SELECT B.ID,BA, SUM(CA) AS 余额
FROM CTEBalance AS B INNER JOIN CTEBalance AS C ON B.ID> = C.ID
GROUP BY B.ID,BA
ORDER BY B.ID
或
SELECT t1.ID,SUM(t2。 A) AS 余额
FROM @ myValues AS t1 INNER JOIN < span class =code-sdkkeyword> @ myValues AS t2 ON t1.ID> ; = t2.ID
GROUP BY t1.ID
ORDER BY t1.ID
结果:
< pre lang =text> ID A余额
1 5 5
2 6 11
3 3 14
如果您没有ID字段,则需要使用 ROW_NUMBER() [ ^ ]功能。遇到麻烦,请告诉我。
How can i get this type of output
A b
5 5
6 11
3 14
MEans b=b+a
解决方案
I think this is a great example of what you are trying to do
http://www.sqlservercentral.com/Forums/Topic707938-392-1.aspx#bm708015[^]
Try this:
DECLARE @myValues TABLE (ID INT IDENTITY(1,1), A INT) INSERT INTO @myValues (A) SELECT 5 AS A UNION ALL SELECT 6 UNION ALL SELECT 3 ;WITH CTEBalance AS ( SELECT ID, A FROM @myValues ) SELECT B.ID, B.A, SUM(C.A) AS Balance FROM CTEBalance AS B INNER JOIN CTEBalance AS C ON B.ID >= C.ID GROUP BY B.ID, B.A ORDER BY B.ID
or
SELECT t1.ID, SUM(t2.A) AS Balance FROM @myValues AS t1 INNER JOIN @myValues AS t2 ON t1.ID >= t2.ID GROUP BY t1.ID ORDER BY t1.ID
Result:
ID A Balance 1 5 5 2 6 11 3 3 14
If you do not have ID field, you need to use ROW_NUMBER()[^] function. In case of trouble, let me know.
这篇关于请帮忙在sql查询输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文