【问题标题】:SQL - get rows where max price is 50% greater than min priceSQL - 获取最高价格比最低价格高 50% 的行
【发布时间】:2016-01-26 08:24:30
【问题描述】:

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

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

【问题讨论】:

  • 你有什么尝试吗?
  • 最好使用sqlfiddle.com 并在那里创建/插入数据,然后根据该示例告诉我们您想要什么。

标签: sql ms-access-2010


【解决方案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

【讨论】:

    猜你喜欢
    • 2023-03-14
    • 2013-07-21
    • 2019-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-06
    相关资源
    最近更新 更多