表:
问题:
5.打印大多数课程中注册的name
的{{1}}(s)和sid
个。
student
我一直有不同的错误。内部循环在独立运行时给出了数据库中的最大值,但是一旦我把它放在一起就会出现语法错误和错误分组
编辑:其他问题: 10.打印最老和最年轻的计算机科学专业的年龄差异。
已经坚持了一段时间。任何帮助将不胜感激。
示例数据
select s.sname, s.sid, count(*)
from student s, enroll e
where s.sid = e.sid
having count(*) = (select max(counted)
from (
select count(*) as counted
from student s, enroll e
where s.sid = e.sid
group by s.sname
) as counts
)
group by sname;
答案 0 :(得分:0)
后应
select Artists_id,count(*)
from dbo.Artits a,Author b
where a.Artists_id=b.au_id
group by Artists_id -- put here
having count(*) =
(
select max(counted)
from
(
select COUNT(*) as counted from dbo.Artits a,Author b
where a.Artists_id=b.au_id
group by Artists_id
) as counts
)
答案 1 :(得分:0)
得到第一个:
打印最老和最年轻的计算机科学专业之间的年龄差异。
选择((从学生s中选择max(s.age),在s.sid = m.sid和m.dname ='Computer Sciences'中选择主要m) - (从学生s1中选择min(s1.age),主要的m1,其中s1.sid = m1.sid和m1.dname ='计算机科学'))作为差异;
现在只需要其他2人,如果有人可以提供帮助
答案 2 :(得分:0)
SELECT sname,sid 来自学生 在哪里( SELECT sid FROM注册GROUP BY sid HAVING COUNT()> = ALL( SELECT COUNT()FROM注册GROUP BY sid ) )