あなたはこのように意味します:
SELECT ItemNumber
FROM myTable
WHERE TotalPurchased = (SELECT MAX(TotalPurchased) FROM myTable)
重要なのは、平易な英語で何が欲しいかを考えることです。この場合は、「TotalPurchased が最大の行の ItemNumber を教えてください」です。残念ながら、SQL は "with" を理解していません。しかし、言い換えると、「TotalPurchased がテーブル全体の TotalPurchased の最大値である行の ItemNumber を教えてください」と出ます。これがここでの答えです。
もう一度考えてみると、TotalPurchased の合計が必要で、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 が最大値に関連付けられている場合、すべての結果が得られるという利点があることに注意してください。ただし、上位の結果が 1 つだけ必要な場合は、@DmitryOsinovskiy の回答を使用してください。