暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

单挑力扣(LeetCode)SQL笔试题:182. 查找重复的电子邮箱(难度:简单)

跟强哥学SQL 2023-01-12
228
题目:182. 查找重复的电子邮箱
(通过次数271,130 | 提交次数342,211,通过率79.23%)
    编写一个 SQL 查询,查找?Person 表中所有重复的电子邮箱。
    示例:
    +----+---------+
    | Id | Email |
    +----+---------+
    | 1 | a@b.com |
    | 2 | c@d.com |
    | 3 | a@b.com |
    +----+---------+
    根据以上输入,你的查询应返回以下结果:
    +---------+
    | Email |
    +---------+
    | a@b.com |
    +---------+
    说明:所有电子邮箱都是小写字母。


    来源:力扣(LeetCode)
    链接:https://leetcode.cn/problems/duplicate-emails

      #测试数据
      Create table If Not Exists Person (id int, email varchar(255));


      insert into Person (id, email) values ('1', 'a@b.com');
      insert into Person (id, email) values ('2', 'c@d.com');
      insert into Person (id, email) values ('3''a@b.com');
      解题思路:
      Person表保存了所有的用户信息,包括用户的Email。
      题目要求:查询重复的Email。
      重复的Email,是指那些出现次数超过1次的Email。那么,直接统计每个Email出现的次数,然后过滤出次数超过1次的即可。
      统计每个Email出现的次数,可以使用GROUP BY+COUNT的方式实现。
      而过滤COUNT的结果,SQL提供了HAVING关键字,从而可以节省一层子查询的嵌套。
      参考SQL:
        select
        Email
        from Person
        group by Email
        having count(1)>1;

        单挑力扣(LeetCode)SQL笔试题:2388. 将表中的空值更改为前一个值(难度:中等)
        单挑力扣(LeetCode)SQL笔试题:2394. 开除员工(难度:中等)
        单挑力扣(LeetCode)SQL笔试题:181. 超过经理收入的员工(难度:简单)

        文章转载自跟强哥学SQL,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论