zoukankan      html  css  js  c++  java
  • sql 查出一张表中重复的所有记录数据

    1.查出所有重复的数据(多列),根据 datetime,staff_num,state

    select * from gs_collect_staff a where (a.datetime,a.staff_num,a.state)
     in (select datetime,staff_num,state from gs_collect_staff group by staff_num,datetime,state
      having count(*) > 1 )  order by datetime desc

    2.查收所有重复的数据(多列),只显示id最小的那个值

    select * from gs_collect_staff a where (a.datetime,a.staff_num,a.state)
     in (select datetime,staff_num,state from gs_collect_staff group by staff_num,datetime,state
      having count(*) > 1 )  
      and a.id  in(select min(id)from gs_collect_staff group by staff_num,datetime,state
      having count(*) > 1 )
       order by datetime desc

    3.删除重复的数据(多列),只保留id最小的那个值

     delete from gs_collect_staff a where (a.datetime,a.staff_num,a.state)
     in (select datetime,staff_num,state from gs_collect_staff group by staff_num,datetime,state
      having count(*) > 1 )  --order by datetime desc
      and a.id not in(select min(id)from gs_collect_staff group by staff_num,datetime,state
      having count(*) > 1 )

    转:https://www.cnblogs.com/wangfuyou/p/6058169.html

  • 相关阅读:
    3-2 表的增删改查
    3-1 存储引擎的介绍
    2-1 库的增删改查
    1-4 初识sql语句
    1-3 mysql的安装和基本管理
    1-2 数据库概述
    1-1 数据库管理软件的由来
    4-6 IO模型对比
    《测试软件工程师》11,13 测试用例格式
    《软件测试工程师》10 测试环境搭建
  • 原文地址:https://www.cnblogs.com/youguess/p/10490532.html
Copyright © 2011-2022 走看看