具有逻辑功能的GROUP BY子句

以弗

我正在使用Oracle 11g Application Express,并在SQL Plus CLI中执行这些命令。这是一堂课,我无法克服这个问题。我不知道如何将订单中的项目总数相加-我感到困惑,因为我不知道如何按订单获得QUANTITY的总和(客户有多个订单)。

对于每个拥有订单的客户,列出客户编号,客户拥有的订单数量,这些订单上的项目总数以及项目的总价。按客户编号订购输出。(提示:您必须在此查询中使用GROUP BY子句)。

表(我们将使用):
客户:包含customer_num
ORDERS:包含order_num,customer_num
ITEMS:包含order_num,数量,total_price

我的逻辑:我需要能够计算每个客户每个订单号的数量总和。我在这里坐了一个多小时,无法弄清。

到目前为止,这是我可以制定的。

SELECT customer_num, count(customer_num) FROM orders GROUP BY customer_num;

我不太了解如何对GROUP BY进行很好的处理(是的,我已经在Google上进行了一些研究并进行了研究,并且它只是没有单击),而且我不知道如何获取每个客户的每个订单的QUANTITY的总和。

不找人为我做我的工作,只是一些指导-谢谢!

布莱恩·德米利亚
select o.customer_num,
       count(distinct o.order_num) as num_orders,
       sum(i.quantity) as total_qty,
       sum(i.total_price) as total_price
  from orders o
  join items i
    on o.order_num = i.order_num
 group by o.customer_num
 order by o.customer_num

第一件事:您必须将解决问题所需的两个表(订单和项目)结合在一起。相关字段似乎是order_num

第二件事:您的group by子句很好,您希望每个客户一行。但是由于连接到项目表,您将不得不计算DISTINCT订单(因为订单和项目之间可能存在一对多关系)。否则,具有2个不同关联项目的订单将被计算两次。

接下来,对数量和总价求和,由于已加入所需的表,因此现在可以执行此操作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

具有聚合功能的SQL HAVING子句?

来自分类Dev

GROUP BY子句是否具有别名?

来自分类Dev

CFWheels findAll Group By具有子句

来自分类Dev

带有AND逻辑的SQL IN子句

来自分类Dev

SQL日期逻辑子句

来自分类Dev

AND / OR where子句逻辑混乱

来自分类Dev

Python的`if`子句的逻辑规则

来自分类Dev

具有通用throw子句的Lambda和功能接口

来自分类Dev

SQL具有子句的问题

来自分类Dev

具有多个条件的If子句

来自分类Dev

LINQ to Sql左外部与Group By并具有子句的联接

来自分类Dev

具有多个GROUPING SETS,CUBE和ROLLUP子句的GROUP BY

来自分类Dev

PostgreSQL-GROUP BY子句

来自分类Dev

Linq和group by子句

来自分类Dev

带有SUMPRODUCT的IF子句

来自分类Dev

Elixir:(FunctionClauseError)没有匹配的功能子句

来自分类Dev

“具有子句”中的未知列

来自分类Dev

在选择中具有不聚合的子句

来自分类Dev

具有动态WHERE子句的预备语句

来自分类Dev

具有if子句的Java 8比较器

来自分类Dev

具有多个未知条件的Where子句

来自分类Dev

具有IN语法的条件WHERE子句

来自分类Dev

SQL Where子句具有多个值

来自分类Dev

具有多个WHERE子句的SQL RANK

来自分类Dev

nHibernate QueryOver具有OR条件的子句

来自分类Dev

SQL左连接具有hading子句

来自分类Dev

具有许多where子句的性能表现

来自分类Dev

具有多个条件的Where子句

来自分类Dev

SQl具有子句Min方法无效