首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql SERVER 怎么去查询结果的10-20行

2012-12-28 
sql SERVER如何去查询结果的10-20行如题没有ID列NAME sex age小明 男12小红 男12。。。。我如何去查询出来的第

sql SERVER 如何去查询结果的10-20行
如题没有ID列
NAME sex age
小明 男  12
小红 男  12
。。。。
我如何去查询出来的第10至第20行 
sql SERVER 
[最优解释]
select NAME,sex,age
from (
select NAME,sex,age,row_number() over(order by getdate()) as rowid
from table) as a
where rowid between 10 and 20

[其他解释]

select top 10 * from(
select top 20 * from tb order by id asc)t order by id desc

[其他解释]

select NAME, sex, age, row_number() over (order by getdate()) jb 
from tableName
where jb>=10 and jb<=20

[其他解释]
引用:
SQL code?1234select NAME, sex, age, row_number() over (order by getdate()) jb from tableNamewhere jb>=10 and jb<=20
7楼的写法有点问题,不过思路是对的,因为执行顺序有问题,先是执行where 中再,执行窗口函数的,否则会报where 中jb不存在的错误的

select NAME, sex, age, row_number() over (order by getdate()) jb into #a  from tableNamewhere select * from #a where jb>=10 and jb<=20

[其他解释]
查两次?一次top 20,一次top 10,把top 20结果中的top 10剔除?
[其他解释]
查询的时候加一个序号列吧
[其他解释]
row_number()  在10-20之间.
[其他解释]
DECLARE @page INT, @size INT
SELECT @page = 2, @size = 10
SELECT 
*
FROM tb
ORDER BY name
OFFSET (@page -1) * @size ROWS
FETCH NEXT @size ROWS ONLY;

[其他解释]
引用:
引用:SQL code?1234select NAME, sex, age, row_number() over (order by getdate()) jb from tableNamewhere jb>=10 and jb<=207楼的写法有点问题,不过思路是对的,因为执行顺序有问题,先是执行where 中再,执行窗口函数的,否……

嗯,是有点问题,同意8楼写法
[其他解释]
感谢各位 结贴了~

热点排行