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
-----题解sql