我正在嘗試撰寫一個查詢,該查詢考慮以下表格,這些表格將回傳每個客戶提交的訂單數量,按他們的電子郵件分組。
例如:[email protected] | 23
表
這是我到目前為止所擁有的:
SELECT COUNT(Order ID), Customer.Customer email
FROM Orders
INNER JOIN Customer ON Customer.Customer ID = Orders.Customer ID
GROUP BY Customer.Customer email
ORDER BY COUNT(Order ID)
我真的在為 SQL JOINS 苦苦掙扎。誰能幫我掌握這個?
uj5u.com熱心網友回復:
您有一個客戶表,其中每一行都指向一個特定的客戶。您有一個訂單表,客戶可以在其中擁有多個訂單。
當您使用join這兩個表時,即客戶表的每一行都連接到具有單個客戶 ID 的訂單表的每一行。
例如,如果客戶有兩個訂單,他將鏈接到訂單表兩次。你的表有one-to-many關系。
uj5u.com熱心網友回復:
SELECT C.CustomerID, COUNT(*) FROM Customers C, Orders O
WHERE C.CustomerID = O.CustomerID
GROUP BY C.CustomerID
我在這個網站上嘗試了上述查詢,看起來它有效。
我相信在您的情況下,您需要將 SELECT 和 GROUP BY 的 C.CustomerID 更改為您的電子郵件,例如 C.email
SELECT C.CustomerEmail, COUNT(*) FROM Customers C, Orders O
WHERE C.CustomerID = O.CustomerID
GROUP BY C.CustomerEmail
如果您的客戶表允許同一電子郵件可以來自多個 ID,那么您將在此報告中遇到一些一致性問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/418721.html
標籤:
