我的数据安排如下:
obj_id quantity date 1 3 2014-05-06 2 2 2014-03-12 3 5 2014-10-07 4 7 2014-05-09 2 8 2014-12-31 1 5 2014-01-16 4 1 2014-07-26 3 2 2014-09-15 ...
我需要的是找到具有SUM(数量)>的OBJ_ID. MAX超过RANGE天数.
在我的情况下,MAX为18,RANGE为31天.
换句话说,每个给定的OBJ_ID不时收到QUANTITY(无论什么).我需要找到总共超过18个的OBJ_ID以及这个OBJ_ID收到Qs的日期超过31天.卫生署).
我想我需要在这里使用LAG,但不确定整个事情应该如何.
提前致谢.
最佳答案 这可能需要一些调整,因为我没有时间对它进行适当的测试,但也许它会让你走上正轨:
(我假设您想要记录日期在过去31天内的记录)
SELECT SUM(quantity)
FROM tblTable
WHERE date between DATEADD(day, -RANGE, GETDATE()) and GETDATE()
HAVING SUM(quantity) > MAX
GROUP BY obj_id