从具有相同长度的表中选择数据

时间:2015-07-31 15:37:42

标签: mysql sql sqlite

我的价格表是这样的:

enter image description here

我想从一个产品中获取同一日期两个城市的价格进行查询,以便比较价格。 但在某些时候可能是一个城市在特定日期有更多的价格,而且两个城市的查询长度不一样,无法进行比较。

enter image description here

如果两个城市的产品在特定时间内存在,如何限制两个城市价格才能获得价格? 喜欢这个:

enter image description here

1 个答案:

答案 0 :(得分:1)

这将为您提供包含多个条目的产品代码和日期列表。

select product_code, date_price
from price_table
group by product_code, date_price
having count(*) > 1

修改

您可能会以下列方式使用上述查询 -

select *
from price_table as p
join (select product_code, date_price
      from price_table
      group by product_code, date_price
      having count(*) > 1
) as price_with_more_than_one on price_with_more_than_one.procuct_code = p.prouct_code 
                             and price_with_more_than_one.date_price = p.date_price

注意

  

这可能是也可能不是你想要做的事情,因为你从来没有说过你想对所有在给定日期有多个项目的product_codes做什么我不能说如果这正是你要。但是,我猜这个查询至少会向您展示一些可以推动您下一个问题的结果。