SQL Server,每隔'x'条记录选择一条记录

Fay*_*yde 5 sql sql-server sql-server-2005 sql-server-2008

在此输入图像描述

嗨,

我有如上所示的"Table1",上面有一些记录,列名是Id,Name和[Entry Date].列Id是主键,我使用的是SQL Server 2005.

我想编写一个每5条记录返回一次信息的查询,例如我的查询将返回:

在此输入图像描述

正如您在最终结果中看到的那样,只选择了每5条记录的记录,我该如何做到这一点?

谢谢

Bas*_*nni 16

SELECT id, name, entryDate 
  FROM (SELECT ROW_NUMBER() OVER(ORDER BY id) rowNumber, Id, name, entryDate
          FROM MyTable)
  WHERE rowNumber = 1
     OR rowNumber % 5 = 0
Run Code Online (Sandbox Code Playgroud)