ORDER BY多列,在MS Access中选择TOP



假设您有一个产品表。每种产品都有价格和折扣。像

折扣4[/tr>美国[/tr>
productName 价格地区
美国
A 10欧盟
亚洲
D 50 6

如果我理解正确,您将首先为每种产品找到最低价格,然后为该产品名称和价格找到最高折扣。这样就可以了。

SELECT A.ProductName,
A.MinOfPrice,
B.MaxOfDiscount
FROM (SELECT P.productName,
MIN(P.price) AS MinOfprice
FROM Product as P
GROUP BY P.productName)
AS A
INNER JOIN
(SELECT P.productName,
P.Price,
MAX(P.Discount) AS MaxOfDiscount
FROM Product as P
GROUP BY P.productName,
P.Price)
AS B
ON  A.ProductName = B.ProductName AND
A.MinOfPrice = B.Price

如果我没有误解,您应该使用MIN和MAX函数,并且可以在同一语句中使用这两个函数。

SELECT MIN(A.price), MAX(A.discount)
FROM Product A

最新更新