SQL查询过滤:除自增主键id以外的列(除主键id外至少有2个列)数据重复的结果,重复的结果行只要id最小的那一行数据,且不可删除原始数据

news/2024/9/6 6:08:00

题外话:如果这个表一共只有2列,id列和name列,很好解决:

 select distinct MIN(id) id,[name] from [t_people] group by [name]


下面开始正题:

如果这个表除主键id外,还有2至N个列,这N个列里面的数据都一样,则取id最小的那一行数据

如上图,id为:1和3、2和5的数据(除id外)是一样的,则过滤掉id为3和5这两条数据,显示其他数据行

 方法一, 用 group by

 select MIN(id) id,[name],[age] from [t_people] group by [name],[age] order by id

方法二,用 having

select * from [t_people] 
where id not in (select max(id)[id] from [t_people] group by [name],[age] having count(*) >1)

方法三,用 临时表 #tmp (不推荐) 

if OBJECT_ID(N'tempdb..#tmp',N'U') is not null
DROP TABLE  #tmp;
select * into #tmp from [t_people] 
delete from #tmp where id in (select max(id)[id] from #tmp group by [name],[age] having count(*) >1)
select * from #tmp order by id asc
DROP TABLE  #tmp;


http://www.niftyadmin.cn/n/836022.html

相关文章

PHP程序员的进阶之路

第1阶段:初级PHP程序员 重点:把LNMP搞熟练(核心是安装配置基本操作)目标:能够完成基本的LNMP环境安装,简单配置维护;能够做基本的简单系统的PHP开发;能够在PHP中型系统中支持某个PHP…

[转]VS20XX MVC 调试时 闪退 自动退出

解决办法:在VS中,工具>选项>项目和解决方案> Web项目“,取消选中”浏览器窗口关闭时停止调试器“。 参考:https://www.cnblogs.com/Violety/p/9405154.html 工具->选项-> 项目和解决方案->Web项目->浏览器…

TensorFlow实战学习笔记(14)------VGGNet

一、VGGNet:5段卷积【每段有2~3个卷积层最大池化层】【每段过滤器个数:64-128-256-512-512】 每段的2~3个卷积层串联在一起的作用: 2个33的卷积层串联的效果相当于一个55的卷积层,即一个像素会跟周围55的像素产生关联。【28*28的输…

C#Winfrom 运行程序自动添加桌面快捷方式(自定义ico图标)

一、添加引用,COM 里的 :Windows Script Host Object Model 二、创建桌面快捷方式帮助类 using IWshRuntimeLibrary; using System; using System.IO;namespace webpackge {public class ShortCutHelper{//需要引入IWshRuntimeLibrary,搜索W…

luoguP1865A%Bproblem

原题地址 思路 使用筛表法筛除1~m的素数&#xff0c;然后累计1~m的素数个数&#xff0c;最后输出sum[r]-sum[l-1]即可。 代码 #include<iostream> using namespace std; int n,m,l,r,sum[1000010]; bool a[1000010]; int main(){ cin>>n>>m; for(int i2;i*i&…

SQl给表字段批量更新指定长度的随机数,且每行数据都不一样

直接上SQL&#xff1a; --固定长度为4位随机数,即1000~9999之间的随机数: Select cast(rand(checksum(newid()))*(99999-10000)10000 as decimal(18,2))--批量更新表字段数据为随机数&#xff0c;且每个数据都不一样 update [BrandRebate] set [DailyRebate] cast(rand(chec…

[Baltic2013]ballmachine BZOJ3133

分析&#xff1a; 我们考虑&#xff0c;因为每次放置的时候&#xff0c;都是向子树中含有的编号最小的哪一个走&#xff0c;那么放置的顺序是固定的&#xff0c;我们将边以to的子树最小排序&#xff0c;之后得到的出栈序就是球的放入顺序。目测可以使用堆来实现&#xff0c;线段…

写静态页面如何量高度

行高的计算公式 line-height行高的计算方式是:行高 line-height - font-size;半行高 行高/2下面的图片中,我们应该如何量取高度呢如果我们设置text2的margin-top为43,苹果按钮的margin-top为53那就大错特错了可以看得出来文字的行高是大于1的,另外第一行文字的上方存在这半行…