1. SQL 题

    user 表

    id name
    1 alice
    2 bob

    grade_info 表

    user_id grade_num type
    1 3 add
    2 3 add
    2 3 add
    1 1 add
    1 1 add

    每个人的分数总和为 grade_num 加起来,比如 user_id 为 2 的,总和为 6。

    写出 SQL 语句,求得分最高的人的 name 和 总分。

    1. select user.name, temp.s from user,
    2. (select user_id, sum(grade_num) as s from grade_info where type='add' group by user_id order by s desc limit 1) as temp
    3. where user.id = temp.user_id;