难点在于如何取到执行人的最新进度???
SELECT `事项`, AVG(`进度`) AS `进度` FROM ( SELECT `事项`, `执行人`, max(`反馈进度`) AS `进度` FROM TABNAME GROUP BY `事项`, `执行人` ) t GROUP BY `事项`
如果说按照执行时间来区分进度的。
把执行时间倒叙排列。取第一条数据。
就是你的最新进度把。
先select 人员,max(执行时间) from table
先取出每条的最大日期,
然后 select 人员,avg(反馈进度) 平均进度 from table2
select t.人员,max(t.执行时间),t2.平均进度 最新时间 from table t
left join (
select 人员,avg(反馈进度) 平均进度 from table2) t2 on t.人员=t2.人员
Select t1.事项,avg(t2.进度) from (Select 事项,执行人,max(执行时间) 执行时间 from table group by 事项,执行人) t1, table t2 where t1.事项=t2.事项 and t1.执行人=t2.执行人 and t1.执行时间=t2.执行时间 group by t1.事项
手机打的,可能符号有问题,你试下看看
用分析函数