【发布时间】:2022-01-13 11:54:19
【问题描述】:
我正在执行一项任务,但遇到了特定问题。我是 SQL 新手,所以我正在向这个平台寻求支持。下面是2张表。第一个是 Theatre_play_table,第二个是门票销售表。 问题:列出总销售额最高的所有节目/戏剧的片名、导演和编剧。
Theatre_play_table
售票表
我已经粘贴了表格某些部分的屏幕截图。两个表中的 ID 列代表相同的信息。 Ticketssales 表中的最后一列是 Totalamount。
我尝试过以下查询; 选择 theatre_play.title, theatre_play.director, theatre_play.writer, sum(totalamount) 来自 theatre_play,总销售额 其中 theatre_play.id = totalsales.id 按 theatre_play.title、theatre_play.director、Theatre_play.writer 分组 按总和排序(总金额) desc 仅获取前 3 行;
当数据量很大时,上述方法没有用处。我想申请 max(sum(totalamount)) 但 oracle 报错了。
谁能帮我解决这个问题?
【问题讨论】:
-
您的解决方案对我来说看起来不错!
-
谢谢。是的,它有效,但我想在这里使用 max 函数但未能应用。
-
将销售聚合(
play_id)移动到子查询中并使用fetch first 1 rows with ties,这将返回所有最畅销的节目。然后执行连接。如果您将示例数据作为文本提供,我将能够编写查询
标签: sql oracle oracle-apex