2014年最后一天,今天在给数据库导入数据的时候,遇到一个问题,就是联合主键去重。

事情是这样的,现有一个表M,我想找个表中导入了许多数据,并需要将字段A(int)和B(int)联合设置为主键。

但是在设置主键时,告知我有重复的内容,无法设置主键。

正常情况下,这两个字段的组合是唯一的,不应该重复,为了找到重复数据,看看是什么方面出了问题。

采用distinct方式

但是发现

select count(distinct name, id) from A

这句话在SQL里不适用,http://www.cnblogs.com/rainman/archive/2013/05/03/3058451.html这个里面写了,当然SQL里也会报错。

所以只能将两个字段进行转换并重新组合成一个字段进行查询

select cast(A as varchar(10))+cast(B as varchar(10)) newkey from M group by cast(A as varchar(10))+cast(B as varchar(10)) having count(cast(A as varchar(10))+cast(B as varchar(10)))>1

代码本身没有什么难度,就是在于要转换思想,不能仅仅纠结于两个int类型的主键,重新组合就方便查询了。

转载于:https://www.cnblogs.com/ZXdeveloper/p/4195252.html

SQL联合主键 查重相关推荐

  1. MySql基础篇---003 SQL之DDL、DML、DCL使用篇:创建和管理表 ,数据处理之增删改,MySQL数据类型精讲 ,约束:联合主键

    第10章_创建和管理表 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. 基础知识 1.1 一条数据存储的过程 存储数据是处理数据的第一步.只有正确地 ...

  2. mysql联合主键语句6_初探SQL语句复合主键与联合主键

    一.复合主键 所谓的复合主键 就是指你表的主键含有一个以上的字段组成,不使用无业务含义的自增id作为主键. 比如 create table test ( name varchar(19), id nu ...

  3. mysql联合主键_初探SQL语句复合主键与联合主键

    一.复合主键 所谓的复合主键 就是指你表的主键含有一个以上的字段组成,不使用无业务含义的自增id作为主键. 比如 create table test ( name varchar(19), id nu ...

  4. sqlite创建表联合主键的sql写法、执行sql文件、不支持右连接、获取年份、case when 的使用

    sqlite创建表时,联合主键,要写在建表语句最后一行,primary key (),括号里面: 执行sql文件:使用 .read xxx.sql 命令: 下图执行错误,应该是字段名含有中文,不能读取 ...

  5. 数据库原理与应用(SQL Server)教程 主键、外键以及联合主键、复合主键和设置种子数目和增量

    文章目录 前言 一.主键.联合主键和复合主键 (一)主键 (二)联合主键 (三)复合主键 二.外键.设置种子数目和增量 (一)外键的概念 (二)添加外键 (三)设置种子数目和增量 结语 前言 这篇文章 ...

  6. SQL Server中的联合主键、聚集索引、非聚集索引、mysql 联合索引

    我们都知道在一个表中当需要2列以上才能确定记录的唯一性的时候,就需要用到联合主键,当建立联合主键以后,在查询数据的时候性能就会有很大的提升,不过并不是对联合主键的任何列单独查询的时候性能都会提升,但我 ...

  7. MyBatis联合主键结果集与SQL查询结果不一致的问题

    2019独角兽企业重金招聘Python工程师标准>>> 一.问题 如果select中的联合主键组合成的key不唯一(当只select部分联合主键时可能发生),那么就会把相同的key合 ...

  8. sql 复合主键 联合主键_学习SQL:主键

    sql 复合主键 联合主键 If you've already worked with databases, then you could hardly miss the term – Primary ...

  9. sql 设置主键 联合主键

    alter table yourtable add  ConstaintName primary key(columnName) /*ConstaintName 数据类型  yourtable 表名 ...

最新文章

  1. linux 的功能,Linux的主要功能
  2. 小型的网站服务器配置,中小型网站服务器配置参考
  3. python中文编码正则_python的unicode编码问题(以正则表达式为例)
  4. C - Rencontre Gym - 102798C
  5. 数据结构 - 队列(图解+源码)
  6. php免费根据ip查城市,根据ip获取城市的方法
  7. vue写的页面title中ico图标不显示的问题
  8. tensorflow测量工具的使用
  9. 汇编学习--7.16--中断
  10. 计算机类教材的选题策划,电子计算机类科技期刊的选题策划.doc
  11. 『网易实习』周记(五)
  12. Charles 手机https抓包
  13. C++计算单利与复利
  14. 网易云音乐小程序登录接口显示400,拥挤问题解决
  15. C# 利用正则表达式获取文本中的https网址并替换新的对应的值,微信小程序播放腾讯视频
  16. 钛磨产品行业调研报告 - 市场现状分析与发展前景预测
  17. 文件资源管理器Ranger的使用
  18. 内置方法和模块的应用
  19. POJ_1849 Two
  20. 安全狗漏洞通告|Linux kernel越界写入漏洞解决方案

热门文章

  1. 一次难忘的 MTS 故障的排除过程
  2. 2018.9--2019.7 Java开发工作中的经验和教训之db2数据库操作
  3. 第二次Soring冲刺计划第一天(团队)
  4. 将一个包含汉字的字符串逐个转化为数字,并得出该字符串的十进制和
  5. 增量式编码器定时器配置和速度计算的处理方法
  6. 5.18 上午 外教专业课 linux 听力
  7. 入门机器学习(九)--应用机器学习的建议
  8. linux+应用程序高级编程,linux-----shell高级编程----grep应用
  9. 王道计算机考研课件,王道考研计算机组成原理课件ppt
  10. 本地计算机所安装的网络组件,3.2 在本地计算机中安装和配置IIS