按日期获取前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;