select top 1 * from (select top 8 * from table1 order by uptime desc) tem order by newid()

解决方案 »

  1.   

    select top 1 * from (select top 8 * from table1 order by uptime desc) tem order by newid()
      

  2.   

    select top 1 * from (select top 8 * from table1 order by uptime desc) tem order by newid()
      

  3.   

    declare @sql
    set @sql='select top 1 * from (select top '+ltrim(str(round(rand()*8,0)+1))+' * from table1 order by uptime)'
    exec @sql
      

  4.   

    select top 1 * from (select top 8 * from table1 order by uptime desc) tem order by newid()
      

  5.   


    select top 1 * from table1 where uptime in(
    (select top 8 uptime from table1 order by uptime desc)
    order by newid()
      

  6.   

    select top 1 * from (select top 8 * from table order by uptime desc) a
    order by newid()