在给定开始星期几的情况下,从任意周数据集模板中选择n个记录

时间:2011-03-02 21:40:10

标签: sql sql-server

我有一个数据集,其中包含30分钟时间步长的7天数据(基本上是时间戳和值)的“模板”。我需要的是能够提供一周的开始日期和时间,并准确返回代表一周中连续几天的n条记录。

例如,如果我想在星期三下午3:00开始3天的数据,我需要从我的模板中的数据开始,其中星期几是星期日,时间是下午3:00;最多可选择144条记录;然后我必须回到我的数据集模板中的第一条记录并选择剩余的记录,以便我的结果是星期六到星期一。

代码简单,但是我可以让SQL Server为我做这些(我对复杂的SQL操作不太熟悉)吗?

1 个答案:

答案 0 :(得分:0)

您应该可以使用以下内容将其限制为N条记录:

SELECT TOP(<NRecords>) <Your Fields> FROM <YourTable>
    WHERE <TimeStampField> BETWEEN '<SartDateTime>' AND '<EndDateTime>'

用您的值替换所有<Name>项。您可以扩展它并将其设为stored procedure,然后您只需传入N值以及开始和结束时间。