SQL - 获取最高价格比最低价格高50%的行

时间:2015-10-27 03:02:04

标签: sql ms-access-2010

我需要获得2014年产品的最高价格比该产品的最低价格至少高50%的行。

我有一张包含4列的价格历史表:商店ID,商品ID,日期和价格。商店以不同的价格出售相同的产品。我不知道要使用哪个查询。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

一步一步走。

首先按产品获得最高和最低价格

 SELECT shopID, productID, MAX(price) as maxPrice, MIN(price) as minPrice
 FROM pricehistory
 WHERE year(date) = 2014
 GROUP BY shopID, productID

我建议你运行这个并理解它。

然后从此查询中选择您想要的

SELECT * 
FROM (
  SELECT shopID, productID, MAX(price) as maxPrice, MIN(price) as minPrice
  FROM pricehistory
  WHERE year(date) = 2014
  GROUP BY shopID, productID
) sub
WHERE minPrice * 1.5 < maxPrice