如何用sql查询最后n条的纪录?

juncius 2004-05-03 11:36:13
我希望用sql语句查询数据库中最后n条的纪录?怎么写?
...全文
33 6 点赞 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
internetcsdn 2004-05-03
HA HA
又学到了.
  • 打赏
  • 举报
回复
xiaoliaoyun 2004-05-03
use Northwind
go
--建立存储过程
create procedure SelectLastN
@n int
as
SET ROWCOUNT @n
select * from orders
order by orderID desc
SET ROWCOUNT 0

--执行
exec SelectLastN @n=10


--建立存储过程
alter procedure SelectN
@n int
as
declare @sql varchar(4000)
set @sql='select top '+cast(@n as varchar(10))+' * from orders order by orderID desc'
print @sql
exec(@sql)
go

--执行
exec SelectN @n=10
  • 打赏
  • 举报
回复
wzh1215 2004-05-03
不好意思,错了点,应该是把整型转换为字符型:
declare @n int
set @n=10
exec('select top '+cast(@n as varchar(10))+' from yourtable order by id desc')
--cast是字符转换函数,具体的看连机帮助吧!
  • 打赏
  • 举报
回复
xiaoliaoyun 2004-05-03
use Northwind
go
declare @n int
set @n=10
SET ROWCOUNT @n
select * from orders
order by orderID desc
SET ROWCOUNT 0
  • 打赏
  • 举报
回复
juncius 2004-05-03
cast是什么意思呢?我想把它写成存储过程
  • 打赏
  • 举报
回复
wzh1215 2004-05-03
declare @n int
set @n=10
exec('select top '+cast(@n as int)+' from yourtable order by id desc')
  • 打赏
  • 举报
回复
相关推荐
发帖
MS-SQL Server
加入

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2004-05-03 11:36
社区公告
暂无公告