Mysql SQL摘要查询

Mysql SQL摘要查询,mysql,Mysql,我很难得到正确的答案。我的结果返回的所有字段的金额相同。 请记住,我是SQL的新手 编写一条SELECT语句,为每个有以下列的订单的客户返回一行: Customers表中的email\u address列 订单项目表中的项目价格乘以订单项目表中的数量 订单项目表中的折扣金额列乘以订单项目表中的数量 按每个客户的商品价格总额按降序对结果集进行排序 这是我的密码 SELECT email_address, SUM(item_price * quantity) AS item_price_total

我很难得到正确的答案。我的结果返回的所有字段的金额相同。 请记住,我是SQL的新手

编写一条SELECT语句,为每个有以下列的订单的客户返回一行:

Customers
表中的
email\u address

订单项目
表中的
项目价格
乘以
订单项目
表中的
数量

订单项目
表中的
折扣金额
列乘以
订单项目
表中的
数量

按每个客户的商品价格总额按降序对结果集进行排序

这是我的密码

SELECT email_address,
SUM(item_price * quantity) AS item_price_total
SUM(discount_amount * quantity) AS discount_amount_total
FROM customers c JOIN order_items oi
GROUP BY email_address
Order BY item_price_total

您需要一个联接条件来关联这两个表。否则,您将得到一个完整的叉积

SELECT email_address,
SUM(item_price * quantity) AS item_price_total
SUM(discount_amount * quantity) AS discount_amount_total
FROM customers c JOIN order_items oi ON c.id = oi.customer_id
                                    #^^^^^^^^^^^^^^^^^^^^^^^^
GROUP BY email_address
Order BY item_price_total

我只是猜测与这两个表相关的列的名称,您应该将它们替换为实际的列。

谢谢您的回答。但现在我得到一个错误代码:1054。“on子句”中的未知列“c.id”,如果没有关系怎么办。客户表的列:客户id、电子邮件地址、密码、名字、姓氏、发货地址id、账单地址id。订单项目表:电子邮件地址、密码、名字、姓氏、发货地址id、账单地址id如果要显示每个客户的金额,必须有一个关系。如果你不知道哪些订单是给客户的,你怎么给他们开账单呢?谢谢,我稍后会处理这个问题。我现在得去上班了