文档章节

删除数据库重复的记录

k
 kaixinguo314
发布于 2016/06/14 15:26
字数 173
阅读 7
收藏 0

如果数据库中有重复数据,则对重复的数据保留一条,其他删出,以交易日期表举例,关联字段为唯一索引字段。

one:

delete exchangedate a
 where exists(select 1
                from (select *
                        from (select init_date,
                                     finance_type,
                                     exchange_type,
                                     min(rowid) as row_id,
                                     count(*) as row_count
                                from exchangedate
                            group by init_date, finance_type, exchange_type)
                       where row_count > 1) b
               where a.finance_type = b.finance_type
                 and a.exchange_type = b.exchange_type
                 and a.init_date = b.init_date
                 and a.rowid <> b.row_id);

two:

delete exchangedate a
 where a.rowid > (select min(rowid) 
                    from exchangedate b 
                   where a.finance_type = b.finance_type
                     and a.exchange_type = b.exchange_type
                     and a.init_date = b.init_date);

扩展:按某个字段分组,然后将这个字段下数据只保留一条记录。

delete hs_user.functiontomenu a
where exists(select 1 
               from (select menu_id,min(rowid) as row_id
                       from hs_user.functiontomenu
                   group by menu_id) b
              where a.menu_id = b.menu_id
                and a.rowid > b.row_id);

 

© 著作权归作者所有

k
粉丝 1
博文 174
码字总数 92392
作品 0
杭州
程序员
私信 提问
mysql各类常见报错代码解释

1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件导致删除数据库失败 1010:不能删除数据目录导致...

飞奔的骆驼
2017/07/03
0
0
mysql所有出错和错误的代码的列表

mysql所有出错和错误的代码的列表 mysql出错代码列表 1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库...

henosteven
2012/08/30
81
0
【整理】MySQL 错误号含义

MySQL 错误号留存备查。 ` 1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件导致删除数据库失败 ...

摩云飞
2013/03/07
141
0
MySQL常见错误代码及代码说明

1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败<=================可以忽略 1008:数据库不存在,删除数据库失败<=================可以忽略 1009:不能删除数据...

lsy950109
2017/06/29
0
0
MySQL常见错误代码(error code)及代码说明

MySQL常见错误代码及代码说明 1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败<=================可以忽略 1008:数据库不存在,删除数据库失败<==============...

xiaofeng886
2017/03/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

02.日志系统:一条SQL更新语句是如何执行的?

我们还是从一个表的一条更新语句说起,我们创建下面一张表: create table T(ID int primary key, c int); 如果要将ID=2这一行c的值加1,SQL可以这么写: update T set c=c+1 where ID=2; 前...

scgaopan
今天
9
0
【五分钟系列】掌握vscode调试技巧

调试前端js 准备一个前端项目 index.html <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1......

aoping
今天
8
0
PhotoShop 高级应用:USM锐化/S锐化/防抖

、 高反差锐化+混合模式:叠加模式 【将更多的边缘细节添加到图像中】

东方墨天
今天
9
0
Python数据可视化之matplotlib

常用模块导入 import numpy as npimport matplotlibimport matplotlib.mlab as mlabimport matplotlib.pyplot as pltimport matplotlib.font_manager as fmfrom mpl_toolkits.mplot3d i......

松鼠大帝
昨天
7
0
我用Bash编写了一个扫雷游戏

我在编程教学方面不是专家,但当我想更好掌握某一样东西时,会试着找出让自己乐在其中的方法。比方说,当我想在 shell 编程方面更进一步时,我决定用 Bash 编写一个扫雷游戏来加以练习。 我在...

老孟的Linux私房菜
昨天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部