I have a table.It has more than 100 row and increasing. I want to get rows like this :
我有一张桌子。它有超过100排并增加。我想得到这样的行:
1 - row (not needed 2,3,4,5,6,7. rows)
8 - row
15 - row
22 - row
29 - row
note : at MSSQL 2008 R2
注意:在MSSQL 2008 R2上
2 个解决方案
#1
5
You can use ROW_NUMBER
and %
, f.e. with a common-table-expression
:
您可以使用ROW_NUMBER和%,f.e。使用common-table-expression:
WITH CTE AS
(
SELECT t.*, RN= ROW_NUMBER() OVER (Order By OrderColumn ASC)
FROM dbo.TableName t
)
SELECT * FROM CTE WHERE RN % 7 = 1
#2
0
--It Helps to you
- 它会帮助你
CREATE TABLE ##Numeric (Id INT)
DECLARE @Value INT = 1
WHILE (@Value <= 100)
BEGIN
INSERT INTO ##Numeric
SELECT @Value
SET @Value = @Value + 1
END
SELECT *
FROM ##Numeric
WHERE ID % 7 = 1
#1
5
You can use ROW_NUMBER
and %
, f.e. with a common-table-expression
:
您可以使用ROW_NUMBER和%,f.e。使用common-table-expression:
WITH CTE AS
(
SELECT t.*, RN= ROW_NUMBER() OVER (Order By OrderColumn ASC)
FROM dbo.TableName t
)
SELECT * FROM CTE WHERE RN % 7 = 1
#2
0
--It Helps to you
- 它会帮助你
CREATE TABLE ##Numeric (Id INT)
DECLARE @Value INT = 1
WHILE (@Value <= 100)
BEGIN
INSERT INTO ##Numeric
SELECT @Value
SET @Value = @Value + 1
END
SELECT *
FROM ##Numeric
WHERE ID % 7 = 1