简单写的话,以distinct 条件去除冗余,在一楼的回答中添加having()条件,语句要写3段,第一段里having(总分)<=60,第二段里 having(总分) between 60 and 80 ,第三段 having(总分)>80复杂写的话需要把行标题转为列值。。sql语句中,关联查询只取分组的一条记录的方法如下:select userid,ranking,username from table //查询字段有userid usernamewhere userid+ranking in //where 条件包括userid+ranking in是集合选择关键字(select userid+max(ranking) from table // max(ranking)选择ranking列的最大值group by userid //根据userid分组)以上sql中,内层select查出了最大的ranking,根据userid分组,外层查询中选择userid+ranking。select name,min(logtime) from 表Bwhere name in(select * from 表A)group by 表B.name测试一下行不行