注册 登录
编程论坛 SQL Server论坛

rollup和cube问题

josephzzq 发布于 2007-03-27 12:34, 691 次点击

问题:在数据库上产生一个结果集,包括各专业每门课程的平均成绩,每门课程的总平均成绩和所有课程的总平均成绩.
书上答案:

select 课程名,专业名,AVG(成绩)
from xs_kc,kc,xs
where xs_kc.课程号=kc.课程号 and xs_kc.学号=xs.学号
group by 课程名,专业名
with rollup

我的答案:
select 专业名,课程名,AVG(成绩)
from xs_kc,kc,xs
where xs_kc.课程号=kc.课程号 and xs_kc.学号=xs.学号
group by 专业名,课程名
with rollup
我的问题是,我的答案好像不那么正确,它们的顺序我不知道怎样安排好,输出显示的结果与我用红色
标记的有什么关系呢,我应该怎样想到它们的顺序是怎样的?请高手帮我回答一下!

4 回复
#2
cyyu_ryh2007-03-27 12:38

都是按照前一个顺序排列的,他是按照课程名排列的,你是按照专业名排列的

#3
棉花糖ONE2007-03-27 12:44
这两个程序一样的啊
#4
cyyu_ryh2007-03-27 13:19
是啊
棉花糖不知道我前面说的正确不,错了的话麻烦纠正一下
#5
棉花糖ONE2007-03-27 14:02
我说错了有with rollup的情况特殊,是按第一个来计算的吧,我也忘了
1