如我有表
ID  Name Price
2   A    2
3   B    2
4   C    3
5   D    3
6   E    3如我有Sql
select * from tab order by Price DESC
那么就会是
4   C    3
5   D    3
6   E    3
2   A    2
3   B    2
----------------------------
但我想让他们同一排序级别的记录的顺序是随机的如
4   C    3
5   D    3
6   E    3
有时也会变成
5   D    3
4   C    3
6   E    3
有时会是
5   D    3
6   E    3
4   C    3
-------------------那这样的查询要怎么写呢谢谢

解决方案 »

  1.   

    declare @t table(ID int,  Name varchar(10),Price int)
    insert @t select 2,'A',2
    insert @t select 3,'B',2
    insert @t select 4,'C',3
    insert @t select 5,'D',3
    insert @t select 6,'E',3select * from @t order by Price DESC,newid()
    /*
    ID          Name       Price
    ----------- ---------- -----------
    5           D          3
    6           E          3
    4           C          3
    3           B          2
    2           A          2(5 行受影响)
    */
      

  2.   


    select * from TB order by Price DESC,newid()
      

  3.   

    select * from tabaName order by Price DESC,NEWID()
      

  4.   

    create table #T1(ID int,  Name varchar(10),Price int)
    insert #T1 select 2,'A',2
    insert #T1 select 3,'B',2
    insert #T1 select 4,'C',3
    insert #T1 select 5,'D',3
    insert #T1 select 6,'E',3select * from #T1 order by Price desc,newid()ID          Name       Price
    ----------- ---------- -----------
    5           D          3
    6           E          3
    4           C          3
    2           A          2
    3           B          2(5 行受影响)
      

  5.   


    select * from tabName order by Price desc,newid()