`

delete 符合条件的记录中的前几条或者重复记录

阅读更多

今天写代码,遇到了这个问题,只能删除符合条件的记录中的某几条.


在网上查了一下,结合自己的经验. 

做法如下:

  1. 取出符合条件的records;
  2. 排序;
  3. delete 前面n条 或者 指定的第n条.

sql server:

--删除前3行
select top(3) * from dbo.t1
delete top(3) from dbo.t1

--删除重复记录
declare @count int
select @count =count(*) from dbo.t1 where name = 'guoqiang'
delete top(@count-1) from  dbo.t1 where name = 'guoqiang'

 

MySQL:
DELETE语句包括一个ORDER BY子句,则各行按照子句中指定的顺序进行删除。此子句只在与LIMIT联用是才起作用。下面的子句用于查找与WHERE子句对应的行,使用timestamp_column进行分类,并删除第一(最旧的)行。

 

DELETE FROM somelog
WHERE user = 'jcole'
ORDER BY timestamp_column
LIMIT 1;

 

新增 mysq删除某些重复值的记录。

delete b from mem_world_building as b, (select *,min(sbid) as tbid from mem_world_building group by wid,bid having count(sbid) >1) as t
where  b.wid = t.wid and b.sbid = t.tbid and b.bid = t.bid

 

其他:

Delete From Table Where ID in ( Select Top N ID From Table Order By ID)

 

 

0
0
分享到:
评论

相关推荐

    oracle数据库各种删除重复数据方法

    因此,掌握如何有效地识别并删除这些重复记录是非常必要的。本文将详细介绍几种在Oracle数据库中删除重复数据的有效方法。 #### 方法一:基于ID删除重复行 此方法适用于只需要考虑单一字段(如ID)的情况,通过找...

    sql面试题库

    这里使用了`GROUP BY`子句结合`MIN()`函数来找出每个组内自动编号最小的记录,并通过`NOT IN`来删除其他重复记录。 ### 3. 显示所有可能的比赛组合 题目描述了一个包含球队名称的`department`表,并要求用一条SQL...

    优化sql语句提高oracle执行效率(34种方法).pdf

    以下是从提供的文档摘要中提取并详细阐述的几个关键知识点: #### 1. 选择最有效率的表名顺序(仅适用于基于规则的优化器) Oracle的解析器在处理`FROM`子句中的表名时遵循从右至左的顺序。为了提升查询效率,应当...

    数据更新和数据的导入导出.doc

    解决方法是删除已有的重复记录,或修改要插入的主键值以确保其唯一性。 2. **非空约束**:主键列不允许为空。如果试图插入主键为空的数据,系统同样会报错。解决方法是在插入前确保所有主键值已填充。 3. **外键约束...

    Linq_to_SQL

    Top和Bottom用于返回数据集中的前几条或后几条记录。Paging操作用于分页显示查询结果。SqlMethods操作提供了一些SQL中常见的操作方法,如Like用于模糊匹配。 10. Insert操作 Insert操作用于向数据库中插入数据。它...

    实用的SQL语言

    这条语句表示先从`users`表中选择前20条记录,然后再从这20条记录中选择前10条记录。 #### 十四、删除重复记录 **知识点13:删除重复记录** 可以使用`GROUP BY`和`MAX`等聚合函数来删除重复记录。例如: ``` DELETE...

    SQL语法大全

    rs.pagesize=N 设置每页为N条记录 rs.pagecount 根据 pagesize 的设置返回总页数 rs.recordcount 返回记录总数 rs.bof 返回记录指针是否超出数据表首端,true表示是,false为否 rs.eof 返回记录指针是否超出数据表...

    第五章-数据库完整性(习题).doc

    5. **处理参照完整性违约的方法**:当参照完整性规则被违反时,DBMS可以采取几种不同的策略来处理这种情况,包括拒绝操作、级联操作(例如在删除主表中的记录时自动删除从表中的相关记录)、或者设置为空(即当主表...

    全面接触SQL语法(doc)

    ALL选取所有记录,DISTINCT去除重复,TOP n选取前n条记录。 2. **声明(Declaration)**:声明SQL参数或参数查询的名称和数据类型。 3. **条件子句(Clause)**:如WHERE,定义查询的条件,过滤结果。 4. **...

    DB2 SQL ppt

    1. 选择列:可以选择所有列、特定列,也可以去除重复记录并为列设置别名。 2. 选择行:通过WHERE子句设定条件,过滤出符合条件的记录。 3. 对查询结果排序:ORDER BY子句实现按指定列值排序。 4. 使用集函数:如...

    MySQL命令大全

    例如,往表 MyClass中插入二条记录, 这二条记录表示:编号为的名为Tom的成绩为.45, 编号为 的名为Joan 的成绩为.99,编号为 的名为Wang 的成绩为.5. mysql>insert into MyClass values(1,’Tom’,96.45),(2,’Joan...

    一个完整的ORACLE的触发器代码

    - 查询`PM_TRAINTMIS`表中符合条件的记录,获取`C_LOTNO`值。 - 如果查询结果不为空,则向`PM_TRAINHHG`表插入一条新记录,并更新`PM_TRAINTMIS`表中的对应记录的`N_FLAGS`值。 - **更新时**:如果新记录的`C_...

    2021-2022计算机二级等级考试试题及答案No.11179.docx

    - **定义**: CHECK约束用于限制字段或记录的值,确保它们符合特定条件。 - **作用**: - 保证数据的有效性和一致性。 - 例如题目中的`CHECK(score>=0 AND score)`确保`score`字段的值必须在0到100之间(含边界值)...

    mysql加锁分析_v1

    然后执行更新操作,重复这一过程直到所有符合条件的记录都被处理。 #### 聚簇索引与锁的范围 InnoDB采用聚簇索引组织数据,即主键索引与表的数据行物理上存储在一起。这意味着对于任何涉及主键的操作,实际上都在...

    2021-2022计算机二级等级考试试题及答案No.3707.docx

    在 Visual FoxPro 中使用 `CONTINUE` 命令继续搜索满足条件的记录。 - **LOCATE FOR**:定位第一条满足条件的记录。 - **CONTINUE**:继续搜索下一条满足条件的记录。 - **SKIP**:移动到当前记录之后的下一条记录...

    2019河南省对口升学计算机专业课第二次月考试题.doc

    - **主键**是表中用于唯一标识每一条记录的一个或多个字段的组合。 - 主键必须是唯一的,且不允许为空。 - 主键可以由多个字段组合而成,但每个表只能有一个主键。 - 设置主键可以帮助防止重复数据的录入。 #### 7....

    数据的高级操作.docx

    - **WHERE 字句**:用于筛选符合条件的记录。 通过以上知识点的学习,我们可以更深入地理解如何有效地管理数据库中的数据,特别是在数据的高级操作方面。这些操作不仅能够帮助我们更好地维护数据库的完整性,还能...

Global site tag (gtag.js) - Google Analytics