select name from student group by name
我还需要显示id,应该怎么改这句话

解决方案 »

  1.   

    select name , min(id) id from student group by name
    select name , max(id) id from student group by name
      

  2.   

    如果同一个name它的id都是一样的话select id,name from student group by id,name如果一个name对应多个id,要看你取哪个id
      

  3.   

    如果是针对name取最大ID或最小ID的除了name,id外还有其他字段的话,则参考如下:select t.* from student t where id = (select max(id) from student where name = t.name)select t.* from student t where not exists (select 1 from student where name = t.name and id > t.id)select t.* from student t where id = (select min(id) from student where name = t.name)select t.* from student t where not exists (select 1 from student where name = t.name and id < t.id)
      

  4.   

    如果是针对name取最大ID或最小ID的除了name,id外还有其他字段的话,则参考如下:select t.* from student t where id = (select max(id) from student where name = t.name)select t.* from student t where not exists (select 1 from student where name = t.name and id > t.id)select t.* from student t where id = (select min(id) from student where name = t.name)select t.* from student t where not exists (select 1 from student where name = t.name and id < t.id)
      

  5.   

    .....以name分组的记录结果 name 对应的只有一条记录...不知道你要做什么...
      

  6.   

    select id,name from student group by name,id
      

  7.   

    要看数据库里边的数据是怎样的,要是,一个name对应一个id,直接select id,name from tablename 就好了。要是,name对应多个Id  那就不能这样做