我需要弄清楚为什么我的查询不起作用。我想询问:
1) 生成一个列表:custName、No_of_orders、avg_order_amt,其中中间列是 客户的订单总数,最后一列是平均订单金额 那个顾客。提示:使用列别名获取上面列出的列标题以显示输出。此外,这还需要在 SELECT 子句中列出两个聚合函数。
我的意思是我希望我的查询能够选择每个客户,查找每个客户的订单数量,并对每个客户的订单金额进行平均。
2) 查找尚未发货的订单的customerID、客户名称、orderID 和订单总值(value)。提示:尚未发货的订单的shipDate 值为NULL。
你能帮我找到错误或丢失的命令吗?这是我的表格和代码:
1.
Select c.cname as custName, sum(o.orderID) as No_of_orders, avg(i.price) as avg_order_amt
From Customer c, Item i
Join Order_ o
On o.customerID = c.customerID and o.itemID = i.itemID;
2.
Select c.customerID, c.cname, o.orderID
From Order_ o
Join Customer c
On c.customerID = o.customerID
Where o.orderDate = Null;
结果是空集。那不是我想要的。我知道 customerID 77777 没有订单,因此它必须在一个集合中。
最佳答案
以下是有关您的查询存在问题的一些提示:
(1)
此查询有两个明显的问题。最明显的是您正在使用聚合函数,但没有 group by
子句。第二个问题是 from
子句中的 ,
。您应该在 from
子句中使用 join
语法。换句话说,where
子句中的逻辑应该位于一个或多个 on
子句中。
(2)
问题提到了shipdate
,但我没有看到查询中引用了该日期。
关于mysql - 需要帮助进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20025302/