id(int 主键 自增长) name
1 1
2 2
3 3
4 4
5 4
现在想得到的是name中不能有重复的,和他对应的主键,也就是
id(int 主键 自增长) name
1 1
2 2
3 3
4 4
或者是
id(int 主键 自增长) name
1 1
2 2
3 3
5 4
请问怎么写呢?
1 1
2 2
3 3
4 4
5 4
现在想得到的是name中不能有重复的,和他对应的主键,也就是
id(int 主键 自增长) name
1 1
2 2
3 3
4 4
或者是
id(int 主键 自增长) name
1 1
2 2
3 3
5 4
请问怎么写呢?
where id=(select min(id) from tablename where name=t.name)
create table cn
(id int identity(1,1) not null,
name int
constraint pk_cn primary key (id)
)insert into cn(name)
select 1 union all
select 2 union all
select 3 union all
select 4 union all
select 4
select id,name from
(select id,name,
row_number() over(partition by name order by id) 'rn'
from cn) t
where t.rn=1/*
id name
----------- -----------
1 1
2 2
3 3
4 4(4 row(s) affected)
*/
select id,name from
(select id,name,
row_number() over(partition by name order by id desc) 'rn'
from cn) t
where t.rn=1/*
id name
----------- -----------
1 1
2 2
3 3
5 4(4 row(s) affected)
*/