declare @count int
declare @coun1 int
declare @sql varchar(100)
set @count = 10
set @coun1 = 2
set @sql='select top 10 * from(select top '+ cast(@count*@coun1 as varchar(9)) +' * from users) a order by id desc'
exec(@sql)
这个能执行,下面的为什么就不行?提示:'order' 附近有语法错误。
set @coun1 = 2 是测试用的。
我该怎么把结果的排序反过来呢??????
declare @count int
declare @coun1 int
declare @sql varchar(100)
set @count = 10
set @coun1 = 2
set @sql='select * from(select top 10 * from(select top '+ cast(@count*@coun1 as varchar(9)) +' * from users) a order by id desc)b order by id'
exec(@sql)
declare @coun1 int
declare @sql varchar(100)
set @count = 10
set @coun1 = 2
set @sql='select top 10 * from(select top '+ cast(@count*@coun1 as varchar(9)) +' * from users) a order by id desc'
exec(@sql)
这个能执行,下面的为什么就不行?提示:'order' 附近有语法错误。
set @coun1 = 2 是测试用的。
我该怎么把结果的排序反过来呢??????
declare @count int
declare @coun1 int
declare @sql varchar(100)
set @count = 10
set @coun1 = 2
set @sql='select * from(select top 10 * from(select top '+ cast(@count*@coun1 as varchar(9)) +' * from users) a order by id desc)b order by id'
exec(@sql)
这是一个从多少行到多少行的问题
如果你想把结果反过来的话
在第一个后面order by id asc
就行了
因为lz好像嵌套了两个select
定义为declare @sql varchar(400) 就可以了。看了半天就说没问题,调试了一下才发现,嘿嘿~~~