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