假设您有一个产品表。每种产品都有价格和折扣。像
productName | 价格 | 折扣地区 |
---|---|---|
美国 | ||
A | 10 | 4欧盟 | [/tr>
亚洲 | ||
D | 50 | 6 | 美国[/tr>
如果我理解正确,您将首先为每种产品找到最低价格,然后为该产品名称和价格找到最高折扣。这样就可以了。
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