Skyda

1

使用sql查询每个学生a_id最常借图书类型u_id、表名:t1 (学生图书借阅)

【问题分析,1 先选出每个学生,每个类型所借数量】

        SELECT a_id,u_id,count(u_id) as a from t1 GROUP BY a_id,u_id ORDER BY a desc;

      2 从结果表中再选出,每个学生常借图书类型最大的一个,

        SELECT a2.a_id,a2.u_id,max(a2.a) from
          (SELECT a_id,u_id,count(u_id) as a from t1 GROUP BY a_id,u_id ORDER BY a desc) a2
        GROUP BY a2.a_id

      得出结果



 

 题目: 没有成绩分数就显示挂科

解题思路: 1 以左连接(left join)查出各学生分数,

 

     2 以 1步中所查出的表作为临时表,

       然后选出avg字段为null的,更改为\'挂科\',其余为\'及格\'

select t1.id,t1.name,case when  t1.avg is null then \'挂科\' else \'及格\' end  as avg1
from
(SELECT a.id,a.name,b.avg from a left JOIN b on a.id=b.id) t1
View Code-----题解sql

 

分类:

技术点:

相关文章:

  • 2021-06-06
  • 2021-10-22
  • 2021-07-09
  • 2021-09-25
  • 2021-11-30
  • 2021-10-12
  • 2021-05-29
猜你喜欢
  • 2021-12-20
  • 2022-12-23
  • 2022-12-23
  • 2021-11-24
  • 2022-12-23
  • 2022-01-07
  • 2022-01-08
相关资源
相似解决方案