Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按日期获取前3项记录SQL Server 2012_Sql_Sql Server_Partition - Fatal编程技术网

按日期获取前3项记录SQL Server 2012

按日期获取前3项记录SQL Server 2012,sql,sql-server,partition,Sql,Sql Server,Partition,我有一个表,其中的行如下所示: DateTime, Field1, Field2, Field3 我想按日期、按日期获得前三名记录。我会执行一条记录 SELECT TOP(3) * FROM tum 我每天都需要这个。我假设我将使用分区或交叉应用,但我不清楚实际的语法。您将使用行号: 没有ORDER BY的TOP没有意义。此语法似乎不正确。行号接受0个参数。@JeremyReynolds。嗯?没有争论。@JeremyReynolds你应该能接受这个吗? select t.* from (

我有一个表,其中的行如下所示:

DateTime, Field1, Field2, Field3
我想按日期、按日期获得前三名记录。我会执行一条记录

SELECT TOP(3) * 
FROM tum 
我每天都需要这个。我假设我将使用分区或交叉应用,但我不清楚实际的语法。

您将使用行号:


没有ORDER BY的TOP没有意义。此语法似乎不正确。行号接受0个参数。@JeremyReynolds。嗯?没有争论。@JeremyReynolds你应该能接受这个吗?
select t.*
from (select t.*,
             row_number() over (partition convert(date, datetime) order by ?) as seqnum
      from t
     ) t
where seqnum <= 3;