表名:tb_test
数据是这样的:
id,no,course,num
1 12 数学 10
1 13 语文 20
2 14 数学 20
2 15 语文 30求SQL语句显示为:ID 数学 语文
1 10 20
2 20 30还有就是有3个表
tb_a,tb_b,tb_c
tb_a(aid,sname,age,sex)学生表
tb_b(bid,aid,cid,grade)成绩表
tb_c(cid,name,teacher)课程表
求学生选择了最少2项课程的SQL语句。麻烦各位帮帮忙,对SQL实在是欠缺。先谢谢了。
数据是这样的:
id,no,course,num
1 12 数学 10
1 13 语文 20
2 14 数学 20
2 15 语文 30求SQL语句显示为:ID 数学 语文
1 10 20
2 20 30还有就是有3个表
tb_a,tb_b,tb_c
tb_a(aid,sname,age,sex)学生表
tb_b(bid,aid,cid,grade)成绩表
tb_c(cid,name,teacher)课程表
求学生选择了最少2项课程的SQL语句。麻烦各位帮帮忙,对SQL实在是欠缺。先谢谢了。
我见过这个面试题,感觉还有什么你没提供,想不起来了..
选择列表中的列 'tb_test.no' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
select * from tb_a where aid in
(
select aid from
(
select COUNT(cid) as aa,aid from tb_b group by aid
)as t
where aa >=2
)
改了一下select * from tb_a where aid in
(
select aid from tb_b group by aid having COUNT(cid)>=2
)
sum(case when course='数学' then num end) as 数学,
sum(case when course='语文' then num end) as 语文
from fenshu group by id
第一题的