当前位置: 代码迷 >> Sql Server >> 双top的有关问题
  详细解决方案

双top的有关问题

热度:39   发布时间:2016-04-27 10:56:26.0
双top的问题
SQL code
declare  @table1 table (id int)insert into @table1select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 ;witha as (    select top(5)id from @table1)select top(1)id from a order by id desc

应该以上语句输出为结果5,但是实际结果为8,请问大侠这个是为什么?下面的语句结果也是一样的
SQL code
select top(1)id from( select top(5)id from @table1) a order by id desc


------解决方案--------------------
SQL code
declare  @table1 table (id int)insert into @table1select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 ;witha as (    select top(5)id from @table1 order by id)select top(1)id from a order by id desc/*(8 行受影响)id-----------5(1 行受影响)*/
  相关解决方案