我对此很新,遇到另一个学习曲线。 这是表
id
item
date
quantity
这是目标。 我想知道从第二天开始,数量加起来达到目标数字所需的天数。
示例:
目标图5
Day 1:
item(1), quantity(0)
item(2), quantity(2)
item(3), quantity(5)
Day 2:
item(1), quantity(4)
item(2), quantity(7)
item(3), quantity(0)
Day 3:
item(1), quantity(2)
item(2), quantity(1)
item(3), quantity(0)
因此item(1)
需要3天才能达到5天,item(2)
达到5天,item(3)
达到5天1天。
在MySQL中完全实现这一点绝对是美妙的。 现在,我只能在PHP中使用计数器执行此操作,这非常原始。
答案 0 :(得分:0)
SELECT Item, MIN(DT), MIN(noDays) noDays
FROM (
SELECT i.Item, i.DT, COUNT(DISTINCT i2.DT) noDays, SUM(i2.Quantity) [Sum]
FROM #items i
INNER JOIN #items i2 ON i2.Item = i.Item AND i.ID >= i2.ID
GROUP BY i.Item, i.DT
) main
WHERE [SUM] >= 5
GROUP BY Item
假设您的表按日期排序。