delete删除重复记录2.txt

来自「SQL语言常用的一些命令各代码」· 文本 代码 · 共 40 行

TXT
40
字号
 有个表USERS如下
Number(int)  Name(char)
1            a
2            b
3            b
4            a
5            c
6            c
要求:当Name列上有相同时,
只保留Number这列上值小的
那一行,结果应如下:
Number(int)  Name(char)
1            a
2            b
5            c
问:用SQL语句的Delete来实现.(记住,是一个SQL语句)


create table #user(number int ,name char(1))
insert into #user select 1,'a'
union all         select 2,'b'
union all         select 3,'b'
union all         select 4,'a'
union all         select 5,'c'
union all         select 6,'c'

delete from #user where number not in(select number from (select min(number)as number,name from #user group by name)as a)
////
下面是plsql实现方法:
Create Table std_user
 (seq Number(10)
 ,std_Name Varchar2(50)
  )
/
Select * From std_user 

Select seq,std_name From std_user
Where seq In(Select min(seq) From std_user
             Group By std_name)
/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?