按日期按日期获取前 3 条记录 SQL Server 2012
Get Top 3 Records By Date By Day SQL Server 2012
我 table 的行如下所示:
DateTime, Field1, Field2, Field3
我想按日期、按天获取前 3 条记录。对于一条记录,我将执行
SELECT TOP(3) *
FROM tum
我每天都需要它。我假设我会使用分区或交叉应用,但我不清楚实际的语法。
你会使用 row_number()
:
select t.*
from (select t.*,
row_number() over (partition convert(date, datetime) order by ?) as seqnum
from t
) t
where seqnum <= 3;
我 table 的行如下所示:
DateTime, Field1, Field2, Field3
我想按日期、按天获取前 3 条记录。对于一条记录,我将执行
SELECT TOP(3) *
FROM tum
我每天都需要它。我假设我会使用分区或交叉应用,但我不清楚实际的语法。
你会使用 row_number()
:
select t.*
from (select t.*,
row_number() over (partition convert(date, datetime) order by ?) as seqnum
from t
) t
where seqnum <= 3;