zoukankan      html  css  js  c++  java
  • sql: having使用,及删除重复数据

     

     

    写了好几年的sql,having语句基本上很少写,这就有一点尴尬了,现在总结一下having的作用,每日整理一下学习文档。

    having 通常伴随group by使用,过滤group by的数据集。

     

    比如找到重复的数据:

    select card_id,count(*) from 502_account group by card_id HAVING count(1)>1

    找到找到重复的card_id

     

    如果要找到金额大于500

    select card_id from 502_drug_sale group by card_id HAVING sum(amount) >100000

     

    其实是比较简单的用法。

     

    利用having,删除重复的数据,算是进阶用法吧。

    DELETE

    FROM

    account

    WHERE

    card_id IN ( SELECT card_id FROM cunjk.249 _account GROUP BY card_id HAVING count( card_id ) > 1 )

    AND id NOT IN ( SELECT min( id ) FROM cunjk.249 _account GROUP BY card_id HAVING count( card_id ) > 1 )

     

    我的account表有几百万条数据,需要找到重复的数据然后删掉,card_id 是卡号,用来做区分,id是主键,自增长,删除重复卡号信息的数据,where条件的第一个条件,找到重复的card_id,第二个条件,找到重复数据中较小的那一个id,not in,删除较大id的重复数据

     

    you get?

     

     

     

     

     

  • 相关阅读:
    软测管理工具实践-01
    Jquery中trim的用法
    java简单学习笔记20190124
    java简单学习笔记20190123
    java简单学习笔记20190122
    java简单学习笔记20190121
    java简单学习笔记20190120
    java简单学习笔记20190114及前
    java简单学习笔记20190115
    java简单学习笔记20190105
  • 原文地址:https://www.cnblogs.com/roychenyi/p/10730779.html
Copyright © 2011-2022 走看看