`
LifeFree
  • 浏览: 58857 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[笔记]删除表中重复数据的sql

SQL 
阅读更多
  主要是要理解group by 语句的作用。

  group by 语句用来对行数据进行分组,故,需要查询的列必须都被包含在分组的列中,可少不可多。

  如下删除表  t_temp中与content列重复的数据:

  思路是先找出不需删除的id,然后外面套用一个not in 语句进行删除。
  不需删除的id,使用group by 语句。

create table t_temp(uno integer  not null unique, content varchar2(6));

select * from  t_temp;

       UNO CONTENT
---------- ------------
         1 a
         2 a
         3 b
         4 b
         5 b
         6 d
         7 d
         8 d
         9 e
已选择9行。

select min(uno),content
from t_temp
group by content;

  MIN(UNO) CONTENT
---------- ------------
         1 a
         3 b
         6 d
         9 e

delete from t_temp
where uno not in(
   select min(uno) 
   from t_temp 
   group by content
  );

已删除5行。

select * from  t_temp;

       UNO CONTENT
---------- ------------
         1 a
         3 b
         6 d
         9 e

分享到:
评论

相关推荐

    2009达内SQL学习笔记

    select:从一个或多个表中检索一个或多个数据列。包含信息:想选择什么表,从什么地方选择。必须要有From子句。(最常用) 当从多张表里查询的时候,会产生笛卡尔积;可用条件过滤它。 当两个表有相同字段时必须加...

    MySQL处理重复数据的学习笔记

    本章节我们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复数据。 防止表中出现重复数据 你可以在 MySQL 数据表中设置指定的字段为 PRIMARY KEY(主键) 或者 UNIQUE(唯一) 索引来保证数据的唯一...

    Oracle 10g 学习笔记

    │ oracle中判断某列是否为数字,删除重复数据的方法 - oracle天堂 - CSDN博客.mht │ oracle体系结构.txt │ oracle学习 - zgh2002007的专栏 - CSDN博客.mht │ Oracle学习笔记(chstone原创).mht │ ORACLE学习...

    Oracle数据库、SQL

    一、 数据库介绍 1 1.1表是数据库中存储数据的基本单位 1 ...21.1删除表,删除列,删除列中的值 46 21.2多对多关系的实现 46 21.3一对多(两张表) 46 21.4一对一 46 21.5数据库对象 46 12.6缺省(默认)总结: 46

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

     数据查询语言 (Data Query Language, DQL) 是SQL语言中,负责进行数据查询而不会对数据本身进行修改的语句,这是最基本的SQL语句。例如:SELECT(查询)  数据控制语言Data Controlling Language(DCL),用来...

    net学习笔记及其他代码应用

    28.SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号 答:Select ID FROM table1 Where ...

    oracle使用管理笔记(一些经验的总结)

    (1)删除重复记录 22 11.oracle合并查询 24 12.oracle连接 25 13.oracle函数 26 (1)字符函数 26 (2)数学函数 26 (3)日期函数 27 (4)给表取别名的时候,不能加as;但是给列取别名,是可以加as 27 (5)转换函数 27 (6) ...

    asp.net知识库

    从SQL中的一个表中导出HTML文件表格 获取數据库表的前N条记录 几段SQL Server语句和存储过程 生成表中的数据的脚本 最详细的SQL注入相关的命令整理 Oracle Oracle中PL/SQL单行函数和组函数详解 mssql+oracle Oracle...

    精髓Oralcle讲课笔记

    --计算一个比较纯的数据用dual表 3、select sysdate from dual; --查看当前的系统时间 4、select ename, sal*12 anuual_sal from emp; --给搜索字段更改名称(双引号 keepFormat 别名有特殊字符,要加双引号)...

    Beyond-LeetCode-SQL:分析SQL Leetcode和经典面试问题。 讨论了常见的陷阱,反模式和方便的技巧。 提供了样本数据库

    重复数据删除窗户 615 难的 案件; 聚集,加入 618 难的 全联接,旋转 其他尚未讨论的问题在这里也有解决方案。 经典面试题 本节涵盖面试过程中经常测试的概念。 许多笔记本的灵感来自于人们违反保密协议并在...

    Java NIO 聊天室 JSwing

    // 选择一组可以进行I/O操作的事件,放在selector中,客户端的该方法不会阻塞, //这里和服务端的方法不一样,查看api注释可以知道,当至少一个通道被选中时, //selector的wakeup方法被调用,方法返回,而对于...

Global site tag (gtag.js) - Google Analytics