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 被考评人有点罗嗦,但是可以解决,希望能启发你的思路。
调试欢乐多
(SELECT 被考评人,关系,AVG(得分) 平均分 from your_table
group by 被考评人,关系)
group by 被考评人
to: CHENGXB(大山) ,你的方法恰如其分,一点不冗余,很精简.