在SQL Server 2012中,可以使用窗口函数和子查询来按日期按天获取前3条记录。以下是一个示例查询:
SELECT [Date], [Record]
FROM (
SELECT [Date], [Record], ROW_NUMBER() OVER (PARTITION BY [Date] ORDER BY [Date] DESC) AS RowNum
FROM YourTable
) AS SubQuery
WHERE RowNum <= 3
ORDER BY [Date] DESC;
在上面的查询中,首先使用子查询和窗口函数ROW_NUMBER()来对每个日期进行排序并分配行号。然后,外部查询选择行号小于等于3的记录,并按日期降序排序。
请注意,你需要将上述示例中的"YourTable"替换为你实际使用的表名,以及"[Date]"和"[Record]"替换为你实际使用的列名。
下一篇:按日期变化的预订状态