oracle中的遍历,循环遍历Oracle PL / SQL中的表

我已经完成了SQL查询,但没有做任何使用循环的程序编写,所以我在这里迷路了.我正在使用Oracle sql Developer.可以在sql或PL / sql中完成

我有一张类似这样的表:

Person_ID score Name Game_ID

1 10 jack 1

1 20 jack 2

2 15 carl 1

2 3 carl 3

4 17 steve 1

我怎样才能遍历这张桌子,以便我可以获得所有比赛的球员总得分.结果将是这样的:

Person_ID score Name

1 30 jack

2 18 carl

4 17 steve

另外还有额外的功劳如果我只想抓住说游戏1 2?

编辑:很抱歉没有清楚,但我确实需要循环,即使没有它可以完成.

@H_301_16@

发布后的解决方案

此过程列出给定game_id的分数.如果省略参数,所有游戏将被总结:

create or replace procedure player_scores(i_game_id number default null) as

begin

for o in (select person_id,name,sum(score) score

from games where game_id = nvl(i_game_id,game_id)

group by person_id,name)

loop

dbms_output.put_line(o.person_id||' '||o.name||' '||o.score);

end loop;

end player_scores;

以前的方案:

你不需要那个程序,只需要简单的查询:

select person_id,sum(score)

from your_table

where game_id in (1,2)

group by person_id,name

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值