如我在一个表中select中取到相应的十个数据,第二次我想从第一次的结果集中的结果随机取五个数据,不知这样怎么样写,是否有函数!??急!谢谢大哥们了!

解决方案 »

  1.   

    select top 5 * from(select * from table) t order by newid()
      

  2.   

    select top 5 *
    from 
    (你的查询) tt
    order by newid()
      

  3.   


    use pubs
    go
    select top 5 * from
    (
    select top 10 title_id from titles
    ) a order by newid()
      

  4.   

    top 5是只能取前面五个,如果可以重复的..该怎么样写语句!?
      

  5.   

    也可直接把你的查询修改一下select top 5 ...
    from a ,b, c ...
    where ...
    order by newid()
      

  6.   

    加上这个order by newid()
    就是取的随机的咯...
      

  7.   

    同理top 1五次然后union all
      

  8.   

    select top 5 * from
    (
    select top 10 * from tbname
    )t order by newid()