zoukankan      html  css  js  c++  java
  • having 的用法

    聚合函数

    where 后面不能直接使用聚合函数

    处理函数

    题目

    编写一个 SQL 查询,查找 Person 表中所有重复的电子邮箱。
    示例:
    +----+---------+
    | Id | Email |
    +----+---------+
    | 1 | a@b.com |
    | 2 | c@d.com |
    | 3 | a@b.com |
    +----+---------+
    根据以上输入,你的查询应返回以下结果:
    +---------+
    | Email |
    +---------+
    | a@b.com |
    +---------+

    说明:所有电子邮箱都是小写字母。

    1、使用having过滤分组select email from person group by email having count(email) > 1
    2、使用临时表方法select email from (select email,count(email) as num from person group by eamil) as new where new.num >1

    说明

    1、having通常用在聚合函数前面,对聚合函数进行过滤,(MAX、MIN、COUNT、SUM)
    2、having通常和group by 一起连用,因为where不能加在group by的后面
    3. where 和 having 的区别?
    1. where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来
    2. where 后不可以跟聚合函数,having可以进行聚合函数的判断。

    mysql执行语句顺序,严格遵循次顺序,不能改变

    select
    from
    where
    group by
    having
    order by
    
  • 相关阅读:
    lighting
    移动端
    SVN常见问题
    前四章知识点小结
    如何不运用第三方变量实现两个数的交换
    awk
    sort
    cut
    sed
    30道Linux面试题
  • 原文地址:https://www.cnblogs.com/zhz-8919/p/10680160.html
Copyright © 2011-2022 走看看