Jam*_*son 1 sql t-sql sql-server
我有一个没有添加标识列的表.我并不真的需要一个用于任何特定目的.
我有821行,我做了500多次测试.现在我需要检查这500个文件,我正在寻找一种简单的方法
select*from table其中row_number> 821
我已经尝试过row_number()但是我不能让它们被命令,我需要返回821以上的所有行.
桌子是一排无序的行.您无法识别插入的前820行,除非您有一些列来标识插入顺序(例如,可信的IDENTITY或datetime列).否则你在地板上扔了一堆弹珠,并要求第一个走进房间的人识别掉掉的前820弹珠.
这是一个非常简单的例子,它表明输出顺序无法预测,当然不能依赖于FIFO(并且还显示了HABO的"解决方案"中断的情况):
CREATE TABLE dbo.foo(id INT, x CHAR(1));
CREATE CLUSTERED INDEX x ON dbo.foo(x);
-- or CREATE INDEX x ON dbo.foo(x, id); -- doesn't require a clustered index to prove
INSERT dbo.foo VALUES(1,'z');
INSERT dbo.foo VALUES(2,'y');
INSERT dbo.foo VALUES(3,'x');
INSERT dbo.foo VALUES(4,'w');
INSERT dbo.foo VALUES(5,'v');
INSERT dbo.foo VALUES(6,'u');
INSERT dbo.foo VALUES(7,'t');
INSERT dbo.foo VALUES(8,'s');
SELECT TOP (5) id, x, ROW_NUMBER() OVER (ORDER BY (SELECT NULL))
FROM dbo.foo;
SELECT * FROM dbo.foo;
Run Code Online (Sandbox Code Playgroud)
结果:
---- ---- ----
8 s 1
7 t 2
6 u 3
5 v 4
4 w 5
---- ----
8 s
7 t
6 u
5 v
4 w
3 x
2 y
1 z
Run Code Online (Sandbox Code Playgroud)