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;
  1. SELECT u.device_id, u.university, u.gpa:选择要返回的列,分别是设备 ID、大学名称和 GPA。
  2. FROM user_profile u:指定数据来源表为user_profile,并给它取别名u
  3. 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。
  4. ORDER BY u.university ASC:按大学名称升序排列结果。