假设表名为a,数据库为oracle
select * from a a1 where id=(select min(id) from a a2 where a2.brand=a1.brand)
order by a1.id desc
oracle里还有另外一种方法更好的,是一个关键字
sql server 的话设表的别名要用as
select * from a as a1 where id=(select min(id) from a as a2 where a2.brand=a1.brand)
order by a1.id desc

解决方案 »

  1.   

    SELECT id,brand FROM TABLE GROUP BY brand order by id desc
      

  2.   

    select distinct(brand) from 表名
      

  3.   

    select distinct(brand),id from 表名
      

  4.   

    回复人: hbhbhbhbhb1021(天外水火(才学JAVA,郁闷)) ( ) 信誉:100 
    ------------------
    正解!
      

  5.   

    hbhbhbhbhb1021(天外水火(才学JAVA,郁闷)) ( ) 信誉:100 
    的也报错,其他都是错的。其他的查出所有 brand ,我只要显示一个 brand You have an error in your SQL syntax near 'select min(id) f
      

  6.   

    保证你所图示的结构符合你所用的实际结构
    如果按你图示结果
    SELECT id,brand FROM TABLE GROUP BY brand order by id asc 完全可以实现
    如果按你这种说法:'可是我现在想要其按 id desc '
    SELECT id,brand FROM TABLE GROUP BY brand order by id desc 完全可以实现
      

  7.   

    是啊,group by brand order by id desc就可以了啊,你想太复杂了吧