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?

     

     

     

     

     

  • 相关阅读:
    复利计算-做汉堡,结对2.0
    复利计算-结对
    《构建之法》第四章读后感
    复利计算单元测试
    实验一 命令解释程序的编写
    《构建之法》前三章章读后感
    1.0 2.0 3.0复利计算器
    实验0:了解和熟悉操作系统
    学习进度条
    0302思考并回答一些问题
  • 原文地址:https://www.cnblogs.com/roychenyi/p/10730779.html
Copyright © 2011-2022 走看看