[英]MS Access SQL Query
我是 SQL 新手,並試圖顯示列中的最大值以及顯示同一表中的單獨列,但是,我的查詢不起作用。
這是我的代碼:
SELECT ProductName, ProductPrice, MAX(ProductPrice) AS MostProfitable
FROM tblProducts;
我收到此錯誤:
“您的查詢不包括指定的表達式 'ProductName' 作為聚合函數的一部分。”
請幫忙!
讓所有列使用ORDER BY
和TOP
簡單方法:
SELECT TOP (1) p.*
FROM tblProducts as p
ORDER BY p.ProductPrice DESC;
請注意,如果有關系,MS Access 中的TOP
可以返回更多行。 如果您只需要一行,則在ORDER BY
包含一個額外的鍵以防止聯系:
ORDER BY p.ProductPrice DESC, p.ProductName;
您不需要任何聚合函數,只需像下面這樣獲取它:
SELECT TOP(1) ProductName, ProductPrice
FROM tblProducts
ORDER BY ProductPrice DESC;
在您對行進行分組之前,列的任何功能都不會起作用。
也就是說,您的 MAX() 函數將不起作用,因為您沒有使用 GROUP。
這是應該工作的SQL:
SELECT ProductName, ProductPrice, MAX(ProductPrice) AS MostProfitable
FROM tblProducts GROUP BY ProductName;
我建議您在您的 SQL 查詢中添加您的產品 ID,並將查詢分組。 但是,例如,我已將您的查詢分組到 ProductName 上。
記住,它不是專業的。 因為具有相同名稱的不同產品也會組合在一起顯示一個 MAX 值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.