`

个人感觉不错的SQL语句

阅读更多
删除重复行
delete from t6 where rowid not in (     
select max(t6.rowid) from  t6 group by      
t6.bm,t6.mc);  
--这里用min(rowid)也可以。

具体可详看http://elf8848.iteye.com/blog/761471博客

在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢?
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select * from people
where peopleId in (select  peopleId  from  people  group  by  peopleId  having  count(peopleId) > 1)
2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录
delete from people
where peopleId  in (select  peopleId  from people  group  by  peopleId   having  count(peopleId) > 1)
and rowid not in (select min(rowid) from  people  group by peopleId  having count(peopleId )>1)
3、查找表中多余的重复记录(多个字段)
select * from vitae a
where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq  having count(*) > 1)
4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录
delete from vitae a
where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)
5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录
select * from vitae a
where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

mysql中不能这么用。 (等待mysql升级吧)
错误提示就是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)

替换方案:
create table tmp as select min(id) as col1 from blur_article group by title;
delete from blur_article where id not in (select col1 from tmp);
drop table tmp;
分享到:
评论

相关推荐

    SQL语句大全 珍藏版 有目录和注释20190228

    本人小白,记性还不太好。最近要操作SQL数据库 在网上找了好多的 SQL语句大全,这个版本个人感觉是最好的。 唯一不方便的是目录不咋的,自己加了个封面完善了下目录现做贡献给大家。

    经典sql语句

    sql中的经典语句 主要是增删改查的基础用法,个人感觉挺有用的

    SQLServer2000常用函数大全及个人收藏

    SQLServer2000常用函数大全及个人写的SQL语句整理收藏.看完看懂里面的70%,相信你至少是小牛人。(另:本人菜鸟,自感觉不错特拿来共享,希望大家喜欢。)

    mysql建表常用sql语句个人经验分享

    熟悉一些常用的建表语句可以提升你建表的速度效率,本文整理了一些,个人感觉还不错,希望对大家有所帮助

    SQL 大全(有两个版本) 经典汇聚,适合大家温习,从易到难分阶段进行讲解

    SQL 大全 经典汇聚,适合大家温习,从易到难分阶段进行讲解 个人感觉比较好 这里有两版本,我集合到一起了

    SQL语句(T-SQL汇总) 用T-SQL画出这些图形

    我个人感觉数据库这方面对于程序员来说很重要,无论是对于JAVA程序员还是DOTNET程序员以及其他编程人员来说都是必须掌握的。为了帮助大家更好的来回顾T-SQL,本人利用空闲的时间整理的一下T-SQL的语句和语法。希望对...

    CoreData增删改查Demo

    CoreData的简单用法,增删改... CoreData让不懂sql语句的人获益不少,因为他的操作基本是不用sql语句的。个人感觉效率比FMDM操作数据库高,而且还能直接生成实体类,省去了我们去一个文件一个文件的去建立model层的东西

    mysql操作和语法

    里面介绍了mysql的操作和mysql 中一些特有sql 语句的用法 个人感觉不错 ,和大家 分享一下

    C#基类库(苏飞版)

    C#Encrypt--Encrypt加密/Encrypt解密/附加有MD5加密,个人感觉很不错的一个加密类 HashEncode 哈希加密帮助类,得到随机哈希加密字符串,随机哈希数字加密等 MySecurity MySecurity--Security安全加密/Security...

    C#资源管理器 和 SQL

    作者:spkl ...QQ:61677931 ... 这次发布的资源管理器 功能更完善,速度很快,优化了一下代码,可以自动获取文件图标 谢谢大家的支持,这次...比如自动获取数据库框架和用户表,,,,,,个人感觉在常用操作上比OFFICE好用很多`````

    达梦数据库连接方式及jdbc驱动包.rar

    最近数据库要用达梦,个人对达梦又有了新...另外达梦还有个模式的概念,这玩意个人感觉就和Mysql中的数据库一样。还有就是SQL语句,大部分情况下是一样的。但是复杂语句就要查他的文档了,因为直接使用Mysql的不靠谱。

    ERP人力资源管理系统(个人毕业设计)

    jsp+JavaBean+servlet+设计文档,个人毕业设计,虽然...数据库提供sql语句,可以运行在sql2000和2005,当然也有2000分离出来的mdf和ldf文件。数据库提供一个触发器,和一个存储过程,当然没什么价值,都是学习用的。

    ASP.NET三层架构添加删除修改查询实例

    所以就把SQL语句写到中间层了,大家明白就行了! 最后就是工厂三层 在实际大型项目团队开发的时候才会用得比较多,而单个人做中小项目的时候用工厂三层会很难做的,开发进度慢不说而且到后期客户要求修改的时候,会...

    asp.net (c# 语言) 简单的三层架构实例

    所以就把SQL语句写到中间层了,大家明白就行了! 最后就是工厂三层 在实际大型项目团队开发的时候才会用得比较多,而单个人做中小项目的时候用工厂三层会很难做的,开发进度慢不说而且到后期客户要求修改的时候,会...

    计算机专业毕业实习日记.docx

    以前Java程序员与数据库打交道都是通过JDBC,还要写 SQL语句,不过Hibernate彻底改变了这一切,它在JDBC之上又作了一次封装,从而实现了不用写SQL语句就可以实现操作数据库。 值得提醒的是,这三个框架都是轻量级的...

    三层结构实现了做网站最基本的添删改查功能

    所以就把SQL语句写到中间层了,大家明白就行了! 最后就是工厂三层 在实际大型项目团队开发的时候才会用得比较多,而单个人做中小项目的时候用工厂三层会很难做的,开发进度慢不说而且到后期客户要求修改的时候,会...

    XSS与CSRF两种跨站攻击总结

    SQL语句创建应用,于是SQL注入成了很流行的攻击方式。在这个年代,参数化查询[1]已经成了普遍用法,我们已经离 SQL注入很远了。但是,历史同样悠久的XSS和CSRF却没有远离我们。由于之前已经对XSS 很熟悉了,所以我对...

    基于SpringJDBC的轻量级ORM框架sborm.zip

    QueryBudiler,使得更多简单的单表查询可以通过对象组织查询、更改逻辑,避免过多去写相似性的SQL语句,减少DAO接口量。 三、一些亮点 1、Entity的设计:很多人看了也许会说,这个不是POJO,不是纯粹的Java ...

    C# formwork 音乐播放盒源码

    开发工具:visual studio 2005 , sqlserver 2005 重点要点:全程数据库操作语句 全部采用 执行存储过程 三层架构为主的程序结构 功能主要包含 查找音乐 添加音乐到音乐播放列表 删除音乐到播放列表 ...

Global site tag (gtag.js) - Google Analytics