簡體   English   中英

MS Access SQL 查詢

[英]MS Access SQL Query

我是 SQL 新手,並試圖顯示列中的最大值以及顯示同一表中的單獨列,但是,我的查詢不起作用。

這是我的代碼:

    SELECT ProductName, ProductPrice, MAX(ProductPrice) AS MostProfitable
    FROM tblProducts;

我收到此錯誤:

“您的查詢不包括指定的表達式 'ProductName' 作為聚合函數的一部分。”

請幫忙!

讓所有列使用ORDER BYTOP簡單方法:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM