首页 > 解决方案 > 过时数据计数

问题描述

所以我有一个表叫:EQ

我目前的数据如下。日期范围在 2018 年 11 月 1 日至 2018 年 11 月 30 日之间

我的最终结果是能够知道该期间每个项目的旧价格有多少天?如果可能的话,添加新价格的日期?否则前者就足够了。

当前数据

  Date  Product Item    Price
11/1/2018   Item A          101
            Item B          101
11/2/2018   Item A          101
            Item B          101
11/3/2018   Item A          101
            Item B          101
11/4/2018   Item A          101
            Item B          101
11/5/2018   Item A          101
            Item B          101
11/6/2018   Item A          101
            Item B          101
11/7/2018   Item A          101
            Item B          101
11/8/2018   Item A          101
        Item B              101
11/9/2018   Item A          101
        Item B              101
11/10/2018  Item A          101
        Item B              101
11/11/2018  Item A          101
        Item B              101
11/12/2018  Item A          100
        Item B              101
11/13/2018  Item A          100
           Item B           102

标签: sql

解决方案


内部查询计算每个产品的价格数量和多次存在的价格,然后外部查询对产品求和

SELECT product_item, SUM(item_count) 
FROM 
 (SELECT product_item, price, count(*) as item_count
  FROM EQ
  WHERE date >= '2018/11/01'
    AND date <= '2018/11/30'
  GROUP BY product_item, price
  HAVING (COUNT(*) > 1)) AS a
GROUP BY product_item

我不确定要使用什么日期格式,所以你需要调整它


推荐阅读