zoukankan      html  css  js  c++  java
  • MYSQL---多表删除

    删除前的person表(删除name值相同的记录,保留id最小的记录)

    +----+-------+------+------+
    | id | name  | job  | age  |
    +----+-------+------+------+
    |  1 | Mike  | 18   |   30 |
    |  2 | Tom   | 16   |   25 |
    |  3 | Rose  | 16   |   23 |
    |  4 | James | 16   |   38 |
    |  5 | Alex  | 16   |   48 |
    |  6 | Lin   | 18   |   26 |
    |  7 | Yao   | 18   |   35 |
    |  8 | Zhang | 17   |   35 |
    |  9 | Wang  | 17   |   45 |
    | 10 | Li    | 17   |   25 |
    | 11 | Cury  | NULL |   30 |
    | 12 | Tom   | 16   |   21 |
    | 13 | Tom   | 18   |   29 |
    | 14 | Mike  | 17   |   19 |
    +----+-------+------+------+

    mysql> DELETE t1 FROM person AS t1 LEFT JOIN (SELECT * FROM person GROUP BY name
     HAVING COUNT(name)>=2) AS t2 ON t1.name=t2.name WHERE t1.id>t2.id;
    Query OK, 3 rows affected (0.20 sec)

    删除后的person表:

    +----+-------+------+------+
    | id | name  | job  | age  |
    +----+-------+------+------+
    |  1 | Mike  | 18   |   30 |
    |  2 | Tom   | 16   |   25 |
    |  3 | Rose  | 16   |   23 |
    |  4 | James | 16   |   38 |
    |  5 | Alex  | 16   |   48 |
    |  6 | Lin   | 18   |   26 |
    |  7 | Yao   | 18   |   35 |
    |  8 | Zhang | 17   |   35 |
    |  9 | Wang  | 17   |   45 |
    | 10 | Li    | 17   |   25 |
    | 11 | Cury  | NULL |   30 |
    +----+-------+------+------+

  • 相关阅读:
    存储结构接收数组
    oracle数据库sql根据查看执行计划优化sql--走不走索引
    多线程--Thread
    java常用集合族谱
    设计模式之二 适配模式
    Tomcat优化问题
    设计模式之一
    C++虚函数表,虚表指针,内存分布
    设计模式
    linux环境下的时间编程
  • 原文地址:https://www.cnblogs.com/beast-king/p/4675234.html
Copyright © 2011-2022 走看看