请问:在SQL查询时怎么才返回指定数量的记录数

时间:2022-03-01 10:39:57
比如说,我只想看前面10行意思意思,有没有办法用SQL做到,如果有,请问SQL语句怎么写?

13 个解决方案

#1


SELECT Top 10 * FROM YourTable

#2


谢谢,但是如果我需要第80~100条记录呢?

#3


用RANKING子句。我不熟悉,只是有这个印象。

#4


在ORACLE里,
select * from table where rownum<10
显示前面10行
其它数据库不清楚。
如果建表时建一个myid,就好处理了。

#5


          Qry->SQL->Clear();
          as="select * from "name+where 序号>80 and 序号<100";
          Qry->SQL->Add(as);
          Qry->Open();
          ....
       

#6


学习

#7


小兵说的MYID和豆豆的方法在数据库没有更改(删除/增加)的情况下可以使用。但是一旦发生删除记录的情况,就不好办了;增加记录也会变得很困难。所以不是最好。

应该是用ROWNUM,RANKING之类的东西。

#8


没有人知道?
请大家再看看

#9


sqlserver比较麻烦,没有选择第n到n+x条纪录的sql语句,只能通过ado分页,
不过提供一个办法,嵌套查询:select top 10 from (select top 20 from table 反序排列)正序排列

#10


VSaber(☆浪人☆) 的办法看起来好像不错,我试试之后就给分

#11


wyb_45(小兵) 
知道oracle 中的pl/sql和其他一些帮助文件在哪里吗?

#12


VSaber(☆浪人☆) 的方法还真的可行!谢谢了

#13


呵呵,分又长了
不过嵌套查询毕竟效率不是最好的,
可惜sqlserver就是不支持sql语句写分页,
倒是mysql这些都支持!真气人!

#1


SELECT Top 10 * FROM YourTable

#2


谢谢,但是如果我需要第80~100条记录呢?

#3


用RANKING子句。我不熟悉,只是有这个印象。

#4


在ORACLE里,
select * from table where rownum<10
显示前面10行
其它数据库不清楚。
如果建表时建一个myid,就好处理了。

#5


          Qry->SQL->Clear();
          as="select * from "name+where 序号>80 and 序号<100";
          Qry->SQL->Add(as);
          Qry->Open();
          ....
       

#6


学习

#7


小兵说的MYID和豆豆的方法在数据库没有更改(删除/增加)的情况下可以使用。但是一旦发生删除记录的情况,就不好办了;增加记录也会变得很困难。所以不是最好。

应该是用ROWNUM,RANKING之类的东西。

#8


没有人知道?
请大家再看看

#9


sqlserver比较麻烦,没有选择第n到n+x条纪录的sql语句,只能通过ado分页,
不过提供一个办法,嵌套查询:select top 10 from (select top 20 from table 反序排列)正序排列

#10


VSaber(☆浪人☆) 的办法看起来好像不错,我试试之后就给分

#11


wyb_45(小兵) 
知道oracle 中的pl/sql和其他一些帮助文件在哪里吗?

#12


VSaber(☆浪人☆) 的方法还真的可行!谢谢了

#13


呵呵,分又长了
不过嵌套查询毕竟效率不是最好的,
可惜sqlserver就是不支持sql语句写分页,
倒是mysql这些都支持!真气人!