coisini002 2023-02-23 16:38 采纳率: 51.3%
浏览 40
已结题

要查询统计每门课各班的平均成绩

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啥区别,没用过

  • 写回答

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 生成的汇总数据比较全面,包括所有列的子总计和总计,但是数据量也更大,可能需要更长的时间来计算和返回结果。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月3日
  • 已采纳回答 2月23日
  • 创建了问题 2月23日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度