请帮忙在sql查询输出 [英] please help in sql query output

查看:87
本文介绍了请帮忙在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆