你的意思是這樣的:
SELECT ItemNumber
FROM myTable
WHERE TotalPurchased = (SELECT MAX(TotalPurchased) FROM myTable)
的關鍵是要想想你想用簡單的英語是什麼。在這種情況下,它是「給我具有最大總採購額的行的商品編號」。不幸的是,SQL不能理解「with」。但是在改寫時,我們得到了「TotalPurchased是TotalPurchased在整個表中的最大值」這一行的「給我的ItemNumber」,這就是答案。
關於第二個想法,我可能誤解你,你想要一個總TotalPurchased的......在這種情況下,你可以試試(TotalPurchased不是總):
SELECT t1.ItemNumber, SUM(t1.TotalPurchased) AS TotalTotalPurchased
FROM myTable AS t1
GROUP BY ItemNumber
HAVING SUM(t1.TotalPurchased) = (
SELECT SUM(TotalPurchased)
FROM myTable
GROUP BY ItemNumber
ORDER BY SUM(TotalPurchased) DESC
LIMIT 1
)
http://sqlfiddle.com/#!5/1cd57/3
請注意,這些查詢的優點是,如果多個ItemNumber綁定爲最大值,您將獲得所有結果。但是,如果您只需要一個最佳結果,請與@ DmitryOsinovskiy的答案一起。