S(SNO,NAME,SEX,CLASS);C(CNO,CNAME,TIME);
SC(SNO,CNO,DEGREE)
【
若要查询统计每门课各班的平均成绩和每门课的平均成绩以及总的平均成绩,下列语句正确的是( )
(A)select class, cname, avg(degree) as平均分from s, sc, c where = and c. cno= group by , c. cname with rollup
(B)select class, cname, avg(degree) as平均分from s, sc, c where = and c. cno =sc. cno group by s. class, c. cname with cube
问一下with roll up 和with cube啥区别,没用过
要查询统计每门课各班的平均成绩
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- simleeyes 2023-02-23 17:01关注
选择A。
区别是:
with rollup 选项可以用来生成子总计(subtotals),即对 GROUP BY 中每个列的不同取值分别计算汇总值,并在结果集中添加一行,该行中该列的值为 NULL。同时,还会生成一行总计(grand total),即将所有数据汇总到一起的值,该行中所有列的值均为 NULL。with cube 选项可以生成更加全面的汇总数据,它会为 GROUP BY 子句中每个列的所有可能组合计算汇总值,并在结果集中添加一行,该行中每个列的值都为 NULL。例如,如果有两个 GROUP BY 列,那么 with cube 将生成 4 行汇总数据,包括总计、每个列的子总计以及这两个列所有可能组合的汇总数据。
因此,with rollup 生成的汇总数据比较简单,只包括子总计和总计;而 with cube 生成的汇总数据比较全面,包括所有列的子总计和总计,但是数据量也更大,可能需要更长的时间来计算和返回结果。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
- ¥20 怎么用dlib库的算法识别小麦病虫害
- ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
- ¥15 java写代码遇到问题,求帮助
- ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
- ¥15 有了解d3和topogram.js库的吗?有偿请教
- ¥100 任意维数的K均值聚类
- ¥15 stamps做sbas-insar,时序沉降图怎么画
- ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
- ¥15 关于#Java#的问题,如何解决?