对阿,你只能order by name

解决方案 »

  1.   

    你这样写试试看吧select distinct name,ID from vw_test1 order by ID
      

  2.   

    to  klan(因帅被判7年) :
    这样当然是没有语法错误,但不能满足要求
    这样SELECT出来的是 name和id不重复的值,不是name的
      

  3.   

    select name from vw_test1 group by name order by min(id)
    select distinct name from vw_test1 
    相当于:
    select distinct name from (SELECT top 100 * from table1 
    ORDER BY ID desc 
    ) as v
    当然不排序
      

  4.   

    就因为一个name 有多个id,sql server不知道按哪个id排序,才排不了序
      

  5.   

    先查看是否有多个ID,如果有建议在加一个条件如ORDER BY ID desc,age desc
      

  6.   

    CREATE VIEW dbo.VW_test1
    AS
    SELECT top 100 name,name+ID AS ID from table1 
    ORDER BY ID desc 
    然后
    select distinct name from vw_test1
      

  7.   

    to  Rewiah(乘长风) :
    如果想按ID排序,取distinct name,SQL语句该如何写呢?to laughsmile(海边的星空):
    你的方法不能按正确顺序排
      

  8.   

    一个name可能对应多个ID,当然不能以ID来排序显示name
      

  9.   

    CREATE VIEW dbo.VW_test1
    AS
    SELECT top 100 * from table1 
    ORDER BY ID desc 
    go不变select name from vw_test1 group by name order by max(id) desc>>就因为一个name 有多个id,sql server不知道按哪个id排序,才排不了序实际上人也派不了序,除非人先定一个规则,比如,按最小的id排序(上午回答的做法,搂主你试过没有,如果没试是不是有点浪费你我和大家的时间?),按最小的id排序(这次的写法,如果看了上午的应该很快能想到这个的)
    这个规则不是由我或者大家定,而是由楼主定。
      

  10.   

    少改了一个字,第二个“按最小的id排序”应该改为“按最大的id排序”
      

  11.   

    同意楼上的做法.如果是按最大的id 排序可以如下做法:select max(name) as name,max(id) as id from vw_test1 group by name order by desc试试...