我有列的数据库中查找,如:PostgreSQL的功能遍历许多行/法与国家
session | order | atype | amt
--------+-------+-------+-----
1 | 0 | ADD | 10
1 | 1 | ADD | 20
1 | 2 | SET | 35
1 | 3 | ADD | 10
2 | 0 | SET | 30
2 | 1 | ADD | 20
2 | 2 | SET | 55
它代表的行为发生。每个会话从0开始。当SET设置时,ADD添加一个金额。我想要一个函数来返回会话的最终值,例如
SELECT session_val(1); --returns 45
SELECT session_val(2); --returns 55
是否可以编写这样的函数/查询?我不知道如何用SQL做任何类似迭代的事情,或者如果可能的话。
不应该'SELECT session_val(1);'return 35? – 2010-06-08 21:51:53
@Ponies:记录会话= 1订单= 3在记录会话= 1订单= 2时加10。 – 2010-06-08 22:02:18
如果会话没有“SET”会怎么样? – 2010-06-08 22:07:01