日期:2014-05-18 浏览次数:20603 次
select 学员信息.* from 学员信息,( select 姓名 from 成绩 group by 姓名 having sum(成绩)>530 ) as t where t.姓名=学员信息.姓名
------解决方案--------------------
1. select * from [table]
group by 姓名
having sum(成绩)>530
2.看情况而定
3.where 后不可以加 聚合函数
------解决方案--------------------
1 select * from 表 tp where exists( select 1 from 表 where 学号=tp.学号 group by 学号 having sum(分数)>530 ) 2、请问子查询快,还是联接查询快?(一般情况下) 联接查询快 3、where后面可不可以跟聚合函数? 不可以
------解决方案--------------------
竟然慢了一步,如果你说的是两个表就是楼上的写法,一个表的话可以看下我的
------解决方案--------------------
1、求全班每个同学的总成绩大于530的学员信息?
表结构为:
姓名 成绩 科目
select * from tb where 姓名 in (select 姓名 from tb group by 姓名 having(sum(成绩)) >= 530)
------解决方案--------------------
1、求全班每个同学的总成绩大于530的学员信息? 表结构为: 姓名 成绩 科目 select * from tab a where exists(select 1 from tab b where a.姓名=b.姓名 group by b.姓名 having sum(成绩)>530) 2、请问子查询快,还是联接查询快?(一般情况下) 子查询快 3、where后面可不可以跟聚合函数? where 后面只能跟限制条件 聚合函数需要跟在Having 后面 注:以上问题能答多少就答多少,答多答少都有分送!