如何在SQL

时间:2015-12-01 14:53:27

标签: sql sql-server sales-analytics

以下是我的陈述:

SELECT [Opp ID], max([Record ID]) as [Record ID]
FROM Opp History Table
WHERE [Last Modified Date] < '2015-01-06' 
GROUP BY [Opp ID] 

我正在尝试构建一个表来检索数据,该数据显示预测每周如何变化。

'2015-01-05'开始,我需要每周最新的opp记录。如何编写执行上述语句的脚本,但增量为7天([上次修改日期] + 7天)。

此外,无论如何,我是否可以创建一个字段,例如“快照日期”,它会标记每个感兴趣的日期?

谢谢。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

我会考虑创建一个像this这样的日期维度表,它可以让你在你的日期加入,以获得额外的日期相关信息 - 如果需要的话。

否则,只需在日期列的一周中加入DatePart,并将其包含在GROUP BY中。无论哪种方式,您都不需要需要循环。

SELECT [Opp ID], max([Record ID]) as [Record ID], DatePart(WEEK, [Last Modified Date])
FROM Opp History Table
WHERE [Last Modified Date] < '2015-01-06' 
GROUP BY [Opp ID], DatePart(WEEK, [Last Modified Date])