sqlserver 数据库 select top 10(*)from goods 有没有办法取得我想要的第几个数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver 数据库 select top 10(*)from goods 有没有办法取得我想要的第几个数据相关的知识,希望对你有一定的参考价值。

如果说 select top 10(*)from goods 取得10条数据,如果我想要取得这10条数据中的第2条数据有没有办法

参考技术A 有办法。请参考。
select * from

(

select * , number = row_number() over(order

by Grade desc) from goods
)

m where number = 2
参考技术B 那你直接top2 倒排序再top1本回答被提问者采纳

SQL Server中的分页查询 select top

SQL Server中的分页查询 https://blog.csdn.net/tswc_byy/article/details/82053091





零、码仙励志

比我差的人还没放弃,比我好的人仍在努力,我就更没资格说我无能为力

一、建库和建表

  1. create database scort
  2. use scort
  3. create table emp
  4. (
  5. empno int primary key,
  6. ename nvarchar(10),
  7. sal int,
  8. deptno int
  9. )
  10. insert into emp values (7369,‘smith‘,800,20);
  11. insert into emp values (7499,‘allen‘,1600,10);
  12. insert into emp values (7521,‘ward‘,1250,30);
  13. insert into emp values (7566,‘jones‘,2975,30);
  14. insert into emp values (7654,‘martin‘,1250,10);
  15. insert into emp values (7698,‘blake‘,2850,30);
  16. insert into emp values (7782,‘clark‘,2450,20);
  17. insert into emp values (7788,‘scott‘,3000,20);
  18. insert into emp values (7839,‘king‘,5000,10);
  19. insert into emp values (7844,‘turn‘,1500,10);
  20. insert into emp values (7876,‘adams‘,1100,30);

技术图片

二、分页查询的用法

1.公式:

  1. 假设每页显示n条记录,当前显示的是第m页,表名是A,主键是A_id
  2. select top n *
  3. from A
  4. where A_id not in (select top (m-1)*n A_id from A)

2.实例演示:

  1. sal从高到低排序,输出1-3条记录的信息
  2. select top 3 * from emp order by sal desc

技术图片

  1. sal从高到低排序,输出4-6条记录的信息
  2. select top 3 *
  3. from emp
  4. where sal not in (select top 3 sal from emp order by sal desc)
  5. order by sal desc

技术图片

  1. sal从高到低排序,输出7-9 条记录的信息
  2. select top 3 *
  3. from emp
  4. where sal not in (select top 6 sal from emp order by sal desc)
  5. order by sal desc

技术图片

  1. sal从高到低排序,输出10-12条记录的信息
  2. (因为没有第12条记录,所以只显示了2条)
  3. select top 3 *
  4. from emp
  5. where sal not in (select top 9 sal from emp order by sal desc)
  6. order by sal desc

技术图片

本篇博客来自于郝斌老师视频教程的总结以及笔记的整理,仅供学习交流,切勿用于商业用途,如有侵权,请联系博主删除,博主QQ:194760901 

                </div>

以上是关于sqlserver 数据库 select top 10(*)from goods 有没有办法取得我想要的第几个数据的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver分组取top

sqlite怎样只查询第一行,就像SqlServer里的select top 1 * from 表名。 请教!

sql server和oracle中查询结果返回指定行数的语句

SQL如何显示查询结果的前100条?

oracle怎么实现sqlserver top 1 的效果

sqlserver中找寻表中的某一行数据