zoukankan      html  css  js  c++  java
  • MySQL实现差集(Minus)和交集(Intersect)

      原文链接: http://www.linuxidc.com/Linux/2014-06/103551.htm

      

      MySQL没有实现Minus和Intersect功能,就像它也没有实现cube的功能一样。
     
      可以用SQL实现同样的功能,就是麻烦了点。
     
      drop table t1;
     
      drop table t2;

      create table t1(id int primary key,nickname varchar(20),playNum varchar(20));

      create table t2(id int primary key,nickname varchar(20),playNum varchar(20));

      insert into t1 values(1,1,10);

      insert into t1 values(2,2,20);

      insert into t1 values(3,3,30);

      insert into t2 values(1,1,10);

      insert into t2 values(2,2,200);

      insert into t2 values(3,33,300);

      commit;

      

      MySQL实现交集
     
      SELECT id, nickname, playNum, COUNT(*)
     
        FROM (SELECT id, nickname, playNum

            FROM t1

            UNION ALL

          SELECT id, nickname, playNum

            FROM t2

          ) a

      GROUP BY id, nickname, playNum

      HAVING COUNT(*) > 1

     

      MySQL实现差集
     
      SELECT t1.id, t1.nickname, t1.playNum
        FROM t1 LEFT JOIN t2 ON t1.id = t2.id

          WHERE t1.nickname != t2.nickname

           OR t1.playNum != t2.playNum;

  • 相关阅读:
    Editor HDU
    Out of Sorts II
    庭师的利刃
    HDU 2087: 剪花布条
    【高精度】高精度乘法
    【高精度】高精度数除以低精度数I
    【高精度】高精度阶乘
    【高精度】高精度分数
    【高精度】简单高精度减法
    【高精度】简单高精度加法
  • 原文地址:https://www.cnblogs.com/lnlvinso/p/6481176.html
Copyright © 2011-2022 走看看