SQL聚合小计

时间:2011-07-27 22:37:21

标签: sql aggregate

DATE|Sales
1|2
1|3
2|2
2|4
2|2
3|3
4|4
4|5
5|3
5|3
6|3
7|2
7|2

我有一个这种格式的表格。第一列是日期,第二列是以美元计算的销售额。 该表是200万行。

所以从上表我们可以得到

  • 在第一天之后我们获得了5美元
  • 在第二天之后我们获得了13美元
  • 在第三天之后我们获得了16美元
  • 在第四天之后我们获得了25美元
  • 在第五天之后我们获得了31美元
  • 在第六天之后我们获得了34美元
  • 在第七天之后我们获得了38美元

我想要的是创建一个函数来计算从特定日期(此日期将是函数的输入参数)到该表的最近日期的销售额。

例如,我想计算当月5日6日和7日之后的销售额。 想象一下,我的表是200万行而日期而不是3(就像在前一种情况下,例如第5和第6和第7)他们可能是我的数千。哪种方法最有效?

1 个答案:

答案 0 :(得分:1)

嗯,听起来你基本上都会做一个桌面扫描,无论如何,只是你需要从中途开始。我猜测时间戳已编入索引?尝试做WHERE日期> START_DATE,然后你像往常一样做一笔钱(销售)。不确定是否有更有效的方式。