![](/img/trans.png)
[英]Why am I getting a syntax error in MySQL when I used Group By?
[英]Why am I getting a Group By error in MySQL
我的目標是編寫一個 SQL 語句來找出每個客戶的總購買量(以美元計)。 結果應包含三列:客戶姓名、聯系人姓名、購買金額。 這是我迄今為止的聲明:
SELECT
SUM(quantity*item_price) AS PurchaseDollarAmount,
cust_contact,
contact_name
FROM Customers, OrderItems
ORDER BY cust_name;
我收到以下錯誤:
錯誤 1140 (42000):在沒有 GROUP BY 的聚合查詢中,SELECT 列表的表達式 #2 包含非聚合列“cisc5500test.Customers.cust_contact”; 這與 sql_mode=only_full_group_by 不兼容
我還是 MySQL 的新手。 你們能幫我解決這個問題嗎?
首先,您需要JOIN
條件。 笛卡爾積沒有任何意義。
其次,我猜還有一張桌子。
第三,你沒有GROUP BY
,但你應該。
查詢是這樣的:
SELECT cust_name, SUM(oi.quantity * oi.item_price) AS PurchaseDollarAmount
FROM Customers c JOIN
Orders o
ON c.customerId = o.customerId JOIN
OrderItems oi
ON oi.orderId = o.orderId
GROUP BY cust_name;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.