SELECT TOP 3 with ties xyz FROM table

解决方案 »

  1.   

    为了不违背你原意,应该这样写
    SELECT TOP 3 WITH  TIES xyz,* FROM table
      

  2.   

    select * from 表
    where xyz in (select distinct top 3 xyz from 表 order by xyz desc)
      

  3.   

    Select *
    From table
    Where xyz In (Select Top 3 Xzy From table)
      

  4.   

    select top 3出来的记录就是<=3的记录。所以不会出来4条的。
      

  5.   

    Select *
    From table
    Where xyz In (Select Top 3 Xzy From table)
      

  6.   

    declare @tb table(xyz int)
    insert @tb
    select 5 union all
    select 4 union all
    select 3 union all
    select 3 union all
    select 2 --测试
    select * from @tb
    where xyz in (select distinct top 3 xyz from @tb order by xyz desc)
    --结果
    /*
    xyz         
    ----------- 
    5.00
    4.00
    3.00
    3.00(所影响的行数为 4 行)
    */
      

  7.   

    SELECT TOP 3 WITH TIES * FROM table ORDER BY xyz DESCORSELECT 
        a.* 
    FROM 
        table a 
    WHERE 
        a.xyz IN(SELECT TOP 3 DISTINCT xyz FROM TABLE ORDER BY xyz DESC)
      

  8.   

    select * from [table] a where a.xyz>= (select top 1 xyz from (select top 3 xyz from [table] order by xyz desc) a order by xyz)
      

  9.   

    不好意思
    写错了
    正确的应该这样写SELECT TOP 3 WITH  TIES xyz,* FROM table
    order by xyz desc
      

  10.   

    select * from t1
    where xyz in(select top 3 xyz from t1 order by xyz desc)
      

  11.   

    rivery(river) ( ) 信誉:99  2005-8-22 17:48:42  得分: 0  
     select top 3出来的记录就是<=3的记录。所以不会出来4条的。你说错了!!!就不给你分了!!!!别生气哦