本文介绍了如何从sql中的表中获取10条记录?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个包含1000条记录的表我每次都要获取10条记录,但是每次执行时都会记录下来!0条记录。任何人都可以帮助我吗?
解决方案如果您希望获得类似于分页的内容,请查看示例: DECLARE @ tmp TABLE (ID INT IDENTITY ( 1 , 1 ),SomeText VARCHAR ( 10 )) INSERT INTO @tmp (SomeText) VALUES (' A'),(' B'),(' C'),(' D'),(' E') ,(' F'),( ' G'),(' H '),(' 我'),(' J'),(' K'),(' L'),(' M'),(' N'),(' O'),(' P'),(' Q'),(' R'),(' S'),(' T'),(' U') ,(' V'),(' X'),(' Y'),(' Z') DECLARE @ counter INT = 1 SELECT A. * FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY ID) AS RowNo,* FROM @ tmp ) AS A WHERE RowNo BETWEEN @ counter * 10-9 AND @ counter * 10 SET @ counter = 2 SELECT A. * FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY ID) AS RowNo,* FROM @tmp ) AS A WHERE RowNo BETWEEN @ counter * 10-9 AND @ counter * 10
这只是一个想法,但我希望这就是你想要的。 如您所见,第一个查询返回10个记录(1-10)和第二个(11-20)。
SELECT TOP 10 FROM 员工 WHERE 名称喜欢 ' %abc%'
你被困在这里? b $ b -KR
I have a table which contains 1000 records I have to fetch 10 records every time but next !0 record on every execution. Can Any one help me?
解决方案 If you would like to achieve something similar to pagination, please have a look at example: DECLARE @tmp TABLE (ID INT IDENTITY(1,1), SomeText VARCHAR(10)) INSERT INTO @tmp (SomeText) VALUES('A'),('B'),('C'),('D'),('E'), ('F'),('G'),('H'),('I'),('J'), ('K'),('L'),('M'),('N'),('O'), ('P'),('Q'),('R'),('S'),('T'), ('U'),('V'),('X'),('Y'),('Z') DECLARE @counter INT=1 SELECT A.* FROM ( SELECT ROW_NUMBER() OVER(ORDER BY ID) AS RowNo, * FROM @tmp ) AS A WHERE RowNo BETWEEN @counter*10-9 AND @counter *10 SET @counter =2 SELECT A.* FROM ( SELECT ROW_NUMBER() OVER(ORDER BY ID) AS RowNo, * FROM @tmp ) AS A WHERE RowNo BETWEEN @counter*10-9 AND @counter *10This is only an idea, but i hope this is what you're looking for. As you can see, first query returns 10 records (1-10) and second one (11-20).
SELECT TOP 10 FROM Employee WHERE Name like '%abc%'You stuck at here ? -KR
更多推荐
如何从sql中的表中获取10条记录?
发布评论