想知道如果有人可以幫助新手出來一些SQL?SQL計數與兩個表
右鍵所以基本上我想所有的客戶ID的具有一定COUNTRYCODE相關的我可以通過對客戶表做一個簡單的查詢,但我然後需要找出多少表格客戶已經在訂單表中提交。
因此,在總結,我需要得到的customerID的從客戶表列表,並計算他們在訂單表多少時間顯示出來。
最簡單的方法是什麼?
P.S.請忽略上面圖片中的任何數據類型/關係問題,這僅僅是一個例子。
謝謝。
想知道如果有人可以幫助新手出來一些SQL?SQL計數與兩個表
右鍵所以基本上我想所有的客戶ID的具有一定COUNTRYCODE相關的我可以通過對客戶表做一個簡單的查詢,但我然後需要找出多少表格客戶已經在訂單表中提交。
因此,在總結,我需要得到的customerID的從客戶表列表,並計算他們在訂單表多少時間顯示出來。
最簡單的方法是什麼?
P.S.請忽略上面圖片中的任何數據類型/關係問題,這僅僅是一個例子。
謝謝。
加入的表,在國家代碼和組篩選結果:
SELECT CustomerID, COUNT(*)
FROM query_test.customer JOIN query_test.Order USING (CustomerID)
WHERE query_test.customer.countrycode = ?
GROUP BY CustomerID
你可以使用
SELECT
c.customerID,
count(o.form_id) AS form_count
FROM
customer c INNER JOIN order o
ON c.customerID = o.customerID
WHERE
c.countrycode = ??
GROUP BY
c.customerID
如果您有沒有任何訂單的客戶,那麼你將要a left outer join
:
SELECT c.CustomerID, COUNT(o.CustomerID) as NumOrders, COUNT(distinct FormID) as NumForms
FROM query_test.customer c LEFT JOIN
query_test.Order o
on c.CustomerID = o.CustomerId
WHERE c.countrycode = ?
GROUP BY c.CustomerID;
注意這個數字既包括訂單數量又包括表單數量秒。