一张表中的不同部门、季度的评分,怎么实现按部门、季度排名

一张表中的不同部门、季度的评分,如何实现按部门、季度排名?
      我在做的一个干部绩效管理系统,人员按季度进行绩效评分,评分汇总在表score中,表score中有部门Id、人员Id、年份和季度、综合得分等字段,原来客户没有提排名需求,没有设计排序字段,相关的表为部门表(dept),部门分为两级,一级部门下面可以有二级部门。现在客户要求加上一个综合得分排名功能,要求如下:
    1、普通干部在部门内进行综合得分排名(一级部门以及下面的二级部门为同一部门内),每个季度进行排名;
    2、部门一把手之间按每个季度进行综合得分排名。
    请大家帮帮忙,给一些思路和代码方面的提示!
------解决思路----------------------
楼上写错了,假设一把手字段为ISLEADER (0 表示不是,1表示是一般手)
order by case when isleader=1 then Y
              when idleader=0 then 部门号
如果SCORE 表里面没有对应的部门号的话需要自己连接一下得到一个一级部门号就好了。最好还是贴一点测试数据出来。
------解决思路----------------------
先从设计上点评下,首先,部门建议加个[所属父部门](没有的话置空),然后维护(部门从属关系变更时需要更新该字段)出一个路径字段,然后一把手不应该放人部门表上吗?
以上设计可以防止客户以后要求有多个层级的部门从属
1、直接关联查询
 2、按我这边的设计时,用部门表连接分数表查询
------解决思路----------------------
假设dept表有[上级部门ID],二级指向一级,一级指向NULL。
score的[部门ID]都统一到一级就可以了。
WITH t AS (
    SELECT ISNULL(d.上级部门Id,s.部门Id) 一级部门Id,
           s.人员Id,
           s.综合得分
      FROM score s
      JOIN dept d
        ON d.id = s.部门
     WHERE 年份 = 2014
       AND 季度 = 2
)
SELECT *,
       DENSE_RANK() OVER(PARTITION BY 一级部门Id ORDER BY 综合得分 DESC) 排名
  FROM t
 ORDER BY 一级部门Id,排名

WITH t AS (
    --和上面一样
)
,t2 AS (
    SELECT d.一把手,
           AVG(t.综合得分) 综合得分
      FROM d
      JOIN t
        ON d.ID = t.一级部门Id
  GROUP BY d.一把手
)
SELECT *,
       DENSE_RANK() OVER(ORDER BY 综合得分 DESC) 排名
  FROM t
 ORDER BY 排名

------解决思路----------------------
WITH t AS (
    SELECT ISNULL(NULLIF(d.上级部门Id,0),s.部门Id) 一级部门Id,