update stuexamscore set 
  sum9rankclass=rank() over (partition by stuGrade,examType,examDate order by sum9 DESC)

解决方案 »

  1.   

    3Q,有点小问题:消息 195,级别 15,状态 10,第 2 行
    'rank' 不是可以识别的 函数名。好像格式有点问题
      

  2.   

    不对,搞错了 ,刚才在2000中运行的出现上述错误,在2005中运行有如下错误消息 4108,级别 15,状态 1,第 1 行
    开窗函数只能出现在 SELECT 或 ORDER BY 子句中。
      

  3.   

    update a
    set sum9rankclass = b.pid
    from stuexamscore  as a 
    left join (select *,pid = rank() over (partition by stuGrade,examType,examDate order by sum9 DESC) from stuExamScore ) b
    on a.id = b.id
      

  4.   

    楼上的大侠,谢谢,能能写个触发器,当sum9字段改变时,自动执行?