要在一张表显示:Select Top 10 xxx
Order by 工资 -顺序排列
Union
Select Top 10 xxx
Order by 工资 DESC -倒序排列

解决方案 »

  1.   

    select top 10 * from T order by 工资 descselect top 10 * from T order by 工资
      

  2.   

    对工资进行排名,插入一个名次列,放入临时表中,取前十名(不是top 10),
    再按倒序排一下,再取前十名就是了!!!
      

  3.   

    --一樓的寫法不正確的,union中不能2個order by
    --用臨時表好了
    select * into #t1 from (select top 10 * from T order by 工资 desc) A
    select * into #t2 from (select top 10 * from T order by 工资) Bselect * from #t1
    union all
    select * from #t2
      

  4.   

    如果9、10、11工资都一样的情况都算是前10的话,还可以用如下的方法
    select * from T where 
    (select count(1) from T T1 where T1.salary > T.salary) <= 9
    or
    (select count(1) from T T2 where T2.salary < T.salary) <= 9
      

  5.   

    建议用临时表
    本机:select * from 数据库.dbo.表
    远程:SELECT * FROM OPENROWSET('MSDASQL','DRIVER={SQL Server};SERVER=地址;UID=用户名;PWD=密码',数据库.dbo.表) 
    取他们分别符合的数据再合并一起来查询