SELECT
u.device_id,
u.university,
u.gpa
FROM
user_profile u
JOIN (
SELECT
university,
MIN(gpa) AS min_gpa
FROM
user_profile
GROUP BY
university
) AS min_gpa_subquery
ON
u.university = min_gpa_subquery.university
AND u.gpa = min_gpa_subquery.min_gpa
ORDER BY
u.university ASC;
SELECT u.device_id, u.university, u.gpa
:选择要返回的列,分别是设备 ID、大学名称和 GPA。FROM user_profile u
:指定数据来源表为user_profile
,并给它取别名u
。JOIN (SELECT university, MIN(gpa) AS min_gpa FROM user_profile GROUP BY university) AS min_gpa_subquery ON u.university = min_gpa_subquery.university AND u.gpa = min_gpa_subquery.min_gpa
:子查询部分SELECT university, MIN(gpa) AS min_gpa FROM user_profile GROUP BY university:按大学分组,找出每个大学中的最低 GPA。主查询通过JOIN将user_profile表(别名u)与子查询(别名min_gpa_subquery)连接起来,连接条件是大学名称相同且主表中的 GPA 等于子查询中该大学的最低 GPA。ORDER BY u.university ASC
:按大学名称升序排列结果。