主要还是学校跟学生是一对多的关系会导致device_id对应问题

select device_id,university,min(gpa) from user_profile

使用上面一条sql,就可以清楚知道,对应关系问题的产生!!!

我用的是内连接,大家的方法思路都差不多,将单表分为两个表,再将两个表进行连接进行查询!!!

SELECT u.device_id,u.university,u.gpa # 需要的数据字段
FROM
user_profile u # 原表
JOIN
(SELECT university,MIN(gpa) as gpa from user_profile GROUP BY
university) as newu #新查询出来的新表
ON
u.university=newu.university #两个连接条件,进行连接后,得到device_id
and u.gpa=newu.gpa
ORDER BY
u.university; # 进行默认升序处理,得到同样的顺序结果