SELECT 被考评人,(sum(decode(关系,'上级',1,0)*得分)/sum(decode(关系,'上级',1,0))+sum(decode(关系,'同事',1,0)*得分)/sum(decode(关系,'同事',1,0))+sum(decode(关系,'下级',1,0)*得分)/sum(decode(关系,'下级',1,0)))  as 总得分 from 表名 group by 被考评人有点罗嗦,但是可以解决,希望能启发你的思路。