假設我想在超市中選擇3個暢銷書。要做到這一點,我要補充的每個銷售以獲取每種產品的總:如何從子查詢中爲每行選擇最大日期
SELECT TOP(3) *
FROM
(
SELECT
SUM(s.individual_sale) AS totalsales,
p.productID AS ID,
p.productName AS Name
FROM
sales s,
products p
WHERE
1=1
AND p.productID = s.productID
GROUP BY
p.productID,
p.productName
) AS top_sellers
ORDER BY
top_sellers.totalsales DESC
然後,它返回我是這樣的:
ID .. |請將.Name | .totalsales
55 | .milk .... | 0.1000
24 | .candy |。0.800
67 | .juice ... | 0.500
現在我想檢索包含這些項目中每一個的最後一個銷售的第四列,如向每個項目查詢「MAX saledate」。我如何實現這一目標?
編輯:添加MAX(s.saledate)沒有幫助。它檢索像2012年1月1日到所有行的日期,但如果我單獨查詢MAX(s.saledate)上面的每個條目,它會返回正確的日期...我的問題是,我怎麼能添加列MAX (s.saledate)爲每個產品,使用相同的查詢,顯示3暢銷書。
爲什麼MAX(saledate)不能正常工作? – samjudson 2013-03-13 17:04:01
我不知道如何在我的代碼上實現它。你可以幫幫我嗎? – 2013-03-13 17:05:29
就像一個SUM,除了MAX MAX(s.saledate) – samjudson 2013-03-13 17:06:27