select name , min(id) id from student group by name select name , max(id) id from student group by name
如果同一个name它的id都是一样的话select id,name from student group by id,name如果一个name对应多个id,要看你取哪个id
如果是针对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)
如果是针对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)
.....以name分组的记录结果 name 对应的只有一条记录...不知道你要做什么...
select id,name from student group by name,id
要看数据库里边的数据是怎样的,要是,一个name对应一个id,直接select id,name from tablename 就好了。要是,name对应多个Id 那就不能这样做
select name , max(id) id from student group by name