我的表如下所示:MySQL的 - 使用計數,而當在左連接
產品
id title price
--------------------------------------
5 777 15
6 777 16
7 777 14
產品詳細信息
id pid quantity color
--------------------------------------
1 5 5 red
2 5 5 yellow
3 5 5 green
4 6 6 yellow
5 6 5 red
6 7 5 red
7 7 4 pink
我希望得到以下的輸出:
倍預期的效果
id title price numberofdetails quantity
------------------------------------------------------
5 777 15 3 15
6 777 16 2 11
7 777 14 2 9
爲了得到這個我運行下面的MySQL查詢:
查詢
SELECT p.id, p.title, p.price, COUNT(pd.id), SUM(pd.quantity)
FROM products as p
LEFT JOIN productdetails as pd
ON p.id = pd.pid
在寫這個查詢假設,因爲我已經定義的關係products.id和productdetails.pid之間會COUNT(pd.id)= 3。而不是隻計算匹配的行,它顯示'7',總行數。我如何修復我的查詢以獲得如上所示的預期結果。
誰知道GROUP BY會如此寶貴:P非常感謝您的解釋。我希望我不會再犯同樣的錯誤。 –