有这样一个Mysql的表格,如何使用sql语句查询其中完全重复的记录
时间: 2024-09-25 08:17:21 浏览: 53
执行一条sql语句update多条记录实现思路
要在MySQL中查询一个表如`crjjl`中完全重复的记录,可以构造一条查询语句来找出除了主键或唯一索引外所有列都相同的行。这里假设`crjjl`没有明确的主键或者唯一索引,那么可以通过选择那些出现次数大于一次并且排除NULL值的情况来进行查询:
```SQL
SELECT
t1.姓名, t1.性别中文, t1.出生日期, t1.国家地区名称, t1.证件类别名称, t1.证件号码,
t1.签证类型名称, t1.签证号码, t1.停留期, t1.出入标识, t1.出入时间(详细), t1.出入口岸名称,
t1.交通方式, t1.交通工具, t1.前往地/出发地名称, t1.出入境事由名称, t1.内部团号, t1.旅行团号,
t1.疑难字说明, t1.第二证件号码, t1.第二证件类型名称
FROM
crjjl t1
JOIN
crjjl t2
WHERE
t1.姓名 = t2.姓名 AND
t1.性别中文 = t2.性别中文 AND
t1.出生日期 = t2.出生日期 AND
t1.国家地区名称 = t2.国家地区名称 AND
t1.证件类别名称 = t2.证件类别名称 AND
t1.证件号码 != t2.证件号码 AND
-- 对于其他字段进行相同的操作...
t1.id < t2.id -- 防止将一对重复记录报告两次
```
这个例子中我们只展示了部分字段,并且加入了`t1.id < t2.id`这样的条件以避免列出两遍相同的一对重复记录。实际应用时需要针对具体表结构调整字段列表以及可能存在的唯一标识符。如果存在复合唯一索引或其他约束,则可以根据实际情况修改上述SQL语句中的比较逻辑。
阅读全文