zoukankan      html  css  js  c++  java
  • mysql 清除多列重复数据,只保留其中一条

    -- 创建临时表存储查询出的数据
    drop temporary table if exists childtable;
    create temporary table childtable (select * from tb_child a where 
    (a.patriarch_id,a.student_id) in (select patriarch_id,student_id from tb_child group by patriarch_id,student_id 
    having count(*) > 1)
    and child_id not in (select min(child_id) from tb_child group 
    by patriarch_id,student_id having count(*)>1));
    
    select *From childtable
    drop temporary table childtable;
    -- 根据条件删除临时表格中的数据
    delete from tb_child  where  child_id in (select childtable.child_id from childtable)
    
    --查询出 绑定关系表中 家长id和学生id重复的数据。但是不包含 绑定关系id最小的那一条记录
    select * from tb_child a where 
    (a.patriarch_id,a.student_id) in (select patriarch_id,student_id from tb_child group by patriarch_id,student_id 
    having count(*) > 1)
    and child_id not in (select min(child_id) from tb_child group 
    by patriarch_id,student_id having count(*)>1)
    
    -- 查询出具有patriarch_id ,student_id 重复的数据(排除id最小的第一条数据) 带行号
    select (@rownum := @rownum + 1) AS rownum ,a.* from tb_child a, (SELECT  @rownum := 0) AS rn  where 
    (a.patriarch_id,a.student_id) in (select patriarch_id,student_id from tb_child group by patriarch_id,student_id 
    having count(*) > 1)
    and child_id not in (select min(child_id) from tb_child group 
    by patriarch_id,student_id having count(*)>1)
    
    --查询出具有patriarch_id ,student_id 重复的数据 带行号
    select (@rownum := @rownum + 1) AS rownum ,ci.* from tb_child ci, (SELECT 
        @rownum := 0) AS rn  where patriarch_id in (select patriarch_id from tb_child group by patriarch_id,student_id having count(*) > 1) 
  • 相关阅读:
    不同数据库中两列字段相减(某列有空值)
    ASP.Net MVC利用NPOI导入导出Excel
    ASP.Net MVC中数据库数据导出Excel,供HTTP下载(转)
    Asp.net操作Excel(终极方法NPOI)(转)
    开发中可能会用到的几个 jQuery 小提示和技巧(转)
    最火的.NET开源项目(转)
    sql行转列和列转行(转)
    run fsck manually
    RTP-实时协议
    linux环境几个特殊的shell变量
  • 原文地址:https://www.cnblogs.com/chongyao/p/12667942.html
Copyright © 2011-2022 走看看