1

我有一个包含列的采购表 - item_key、price、recorded_at(datetime)。

对于任何商品,随着我们开展一些促销活动,价格偶尔会发生变化。例如; item_key 1 的正常价格是 100,我们将价格降低到 80 一周,然后恢复正常价格。促销价格在不同时间可能会有所不同(下次可能是60而不是80)。我们有大约 100 件商品。

我正在尝试编写一个查询(mysql)来按价格逐项获取天数。我的查询变得过于复杂,并且花费了超过可接受的时间来返回结果。

我将不胜感激任何帮助。

谢谢,

4

1 回答 1

0

我不完全确定您所说的“按价格按项目计算的天数”是什么意思......我假设因为这是一个购买表,所以每个条目都是一次购买......如果是这种情况并且你想看看每件商品和特定价格购买了多少天,我认为这应该可行:

SELECT item_key, price, COUNT(DISTINCT recorded_at) from table
GROUP BY item_key, price

我认为这应该采用每个 item_key/price 对并计算该对有多少天不同的销售。

于 2012-10-26T01:26:01.140 回答