簡體   English   中英

為什么我在 MySQL 中收到 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM