sql重复数据查询,sql分组数据查询,sql分组数据的总条数,sql分组后数据的条数(条数大于1的显示), 删除多余重复数据

sql重复数据查询,

sql分组数据查询,

sql分组数据的总条数,

sql分组后数据的条数(条数大于1的显示),

删除多余重复数据 ,保留最小ID

sql语句代码 

USE[quanxi_apps]

--1 获取原始数据和原始数据的总条数
select ID,title  
from [dbo].[T_BL_symptom_new]
order by title

select count(title) as '原始数据:总条数'  
from [dbo].[T_BL_symptom_new] 
 

--2 获取分组数据和分组数据的总条数
select title 
from [dbo].[T_BL_symptom_new]
group by title  
order by title

select count(*) as '分组数据:总条数'
from 
(
select title
from [dbo].[T_BL_symptom_new]
group by title
) as T_BL_symptom_new2020


--3 获取分组数据和分组后数据的条数(条数大于1的显示)
select title ,count(title)as '分组数据:条数'
from [dbo].[T_BL_symptom_new]
group by title  
having count(title)>1
 

--4 删除多余重复数据,保留最小ID
delete 
from T_BL_symptom_new
where title in 
(
select title
from [dbo].[T_BL_symptom_new]
group by title  
having count(title)>1
) 
and 
minID not in 
(
select min(minID) 
from [dbo].[T_BL_symptom_new]
group by title 
having count(title)>1
)

删除重复数据保留最小ID--步骤

1.设计表

右键表[表名]>>设计,在表中增加列【minID 】设置成主键、自增、增量1

(其中:主键可忽略)

2.执行sql删除语句

delete 
from [表名]
where (重复字段名) in 
(
select (重复字段名)
from [表名]
group by (重复字段名)
having count((重复字段名))>1
) 
and 
(最小ID字段名) not in 
(
select min((最小ID字段名)) 
from  [表名]
group by (重复字段名)
having count((重复字段名))>1
)

实例sql代码 

delete 
from T_BL_symptom_new
where title in 
(
select title
from [dbo].[T_BL_symptom_new]
group by title  
having count(title)>1
) 
and 
minID not in 
(
select min(minID) 
from [dbo].[T_BL_symptom_new]
group by title 
having count(title)>1
)

 

扩展阅读:

SQL 删除重复记录,并保留其中一条

https://blog.csdn.net/cplvfx/article/details/108192540

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橙-极纪元JJY.Cheng

客官,1分钱也是爱,给个赏钱吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值