求一个 sqlserver的游标语句

图片说明

3个回答

这和游标有什么关系?

         SELECT a1.id,
               a2.score
          FROM a a1
   CROSS APPLY (SELECT SUM(score) score
                  FROM a
                 WHERE id <= a1.id
                ) a2
ppnnssz
ppnnssz 回复ppnnssz: 哈哈哈,看到了两年前得自己,游标很简单啊,哈哈哈哈
接近 3 年之前 回复
ppnnssz
ppnnssz 我想通过简单的demo来学习游标啊,能不能给我个游标的哦语句啊?大神,我是小白
5 年多之前 回复

DECLARE @n int
DECLARE @m int
set @n=1
set @score=0;
select @id=max(id) from A
select id,score from A where id=@n
while(@n<@id+1)
BEGIN

    select @m=(select score from A where id=@n) from A
    select @score=(select score from A where id=@n+1) from A
     set @score=@score+@m
    select id,score=@score from A where id=@n+1
    set @n=@n+1
    END

    这是我写的SQL语句,显示的效果是下一行的值是上一行加该行的值得到最终的值,每次用的是原始值,而不是上一行值加下一行值得到的最终值再加下一行
    ,同时由于是循环执行的所以id和score是打印了四次;这是缺点,但是你可以在这个基础上做你想要的修改,对你对我都是很好的学习吧;

    如果回答对您有帮助,请采纳

还有DECLARE @id int
DECLARE @score int

 被过滤掉了,你可以自己添加
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐