2013-10-03 22 views
0

這裏是給定的問題:SQL,DISTINCT的product_id,orderQuantity

顯示我的產品代碼的列表,每個代碼已被責令次數一起(注意,訂單數量會影響總人數次序);只包含至少一次訂購的產品代碼?

我曾嘗試以下

SELECT DISTINCT productId, orderQuantity 
FROM Order 
WHERE (orderQuantity > 0); 

表出現重複的產品ID。如何通過訂單數量的總和獲得不同產品ID的表格?

回答

4

我認爲這是你在找什麼:

SELECT productID, SUM(orderQuantity) 
FROM Order 
WHERE orderQuantity > 0 
GROUP BY productID 

你必須使用一個聚合函數,在這種情況下SUM(),有你的量的總和,並要進行分組的款項由每個產品,在您的案例productID

要理解這是如何工作的,只需從SELECT語句中刪除GROUP BY語句和productID,查詢將返回所有數量的SUM。

SELECT SUM(orderQuantity) 
FROM Order 
WHERE orderQuantity > 0 

然後,如果你添加只是GROUP BY productID你會得到訂購的每種產品數量的總和。

SELECT SUM(orderQuantity) 
FROM Order 
WHERE orderQuantity > 0 
GROUP BY productID 

然後,只需在SELECT語句中添加productID即可瞭解顯示的信息。