首页 > 试题广场 >

Mysql中表student_table(id,name,b

[单选题]
Mysql中表student_table(id,name,birth,sex),score_table(stu_id,subject_name,score),查询多个学科的总分最高的学生记录明细以及总分,如下SQL正确的是()?
  • select  t2.*,c1 as `最高分`  from (
    select stu_id,sum(score) as c1 from score_table group by stu_id order by c1 desc limit 1
    ) t1
    join student_table t2
    on t1.stu_id = t2.id ;
  • select  t2.*,c1 as `最高分`  from (
    select stu_id,max(score) as c1 from score_table group by stu_id order by c1 desc limit 1
    ) t1
    join student_table t2
    on t1.stu_id = t2.id ;
  • select  t2.*,c1 as `最高分`  from (
    select stu_id,max(sum(score)) as c1 from score_table group by stu_id order by c1 desc limit 1
    ) t1
    join student_table t2
    on t1.stu_id = t2.id ;
  • select  t2.*,c1 as `最高分`  from (
    select stu_id,max(sum(score)) as c1 from score_table group by stu_id
    ) t1
    join student_table t2
    on t1.stu_id = t2.id ;
聚合函数之间不能直接嵌套使用
D应该改为 select  stu_id,max(total)  from  (select  stu_id,sum(score)  as  total  from  score_table  group  by  stu_id)  as  a 
发表于 2022-03-15 09:22:41 回复(0)
SQL语句执行顺序:from-》where-》group by-》having-》select后面-》order by
聚合函数之间不可以直接嵌套使用。

发表于 2022-03-19 15:07:03 回复(0)
sum所有学生分数,倒序一下limit1就是总分最高的学生了
发表于 2022-03-03 17:16:32 回复(2)
如果总分最高分有有并列的,那么A选项不是只能取到其中一位吗?
发表于 2022-03-15 17:07:59 回复(3)
聚合函数不能嵌套使用
发表于 2022-05-10 15:02:47 回复(0)
万一有一个第一名和第二名分数一样的呢,你取一条数据还是两条
发表于 2022-03-21 11:19:21 回复(0)
既然A对为啥D不对呢
发表于 2021-12-15 00:31:21 回复(11)
A也不见得是对的吧,都没考虑多个最高分的情况
发表于 2024-03-22 15:29:30 回复(0)
这题是错的吧,我看有limit直接不考虑了
发表于 2023-06-06 12:54:54 回复(0)
发表于 2023-06-01 16:38:30 回复(0)
max(sum(score))就是错误的书写 聚合函数不能直接嵌套吧
编辑于 2023-04-03 06:33:38 回复(0)