`
annan211
  • 浏览: 463248 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

having 的使用

阅读更多
mysql中为什么需要使用having ? 子句呢? 那是因为where条件子句中 where关键字无法与合计函数一起使用 比如 where count(money)>900 这是不允许的,group by 只是过滤行过滤。所以就需要用到having子句了  having count(money)>900 是允许的
O_Id	OrderDate	OrderPrice	Customer
1	 2008/12/29	 1000	             Bush
2	 2008/11/23	 1600	            Carter
3	 2008/10/05	 700	             Bush
4	 2008/09/28	 300	            Bush
5	 2008/08/06	 2000	             Adams
6	 2008/07/21	 100	            Carter



现在我们希望查找客户 "Bush" 或 "Adams" 拥有超过 1500 的订单总金额。
我们在 SQL 语句中增加了一个普通的 WHERE 子句:
SELECT Customer,SUM(OrderPrice) FROM Orders
WHERE Customer='Bush' OR Customer='Adams'
GROUP BY Customer
HAVING SUM(OrderPrice)>1500


结果集
Customer	SUM(OrderPrice)
Bush	2000
Adams	2000
分享到:
评论

相关推荐

    SQL_HAVING_使用详解

    ### SQL_HAVING 使用详解 #### 一、HAVING 子句概述 在 SQL 查询语言中,`HAVING` 子句被用来过滤由 `GROUP BY` 子句产生的结果集。与 `WHERE` 子句不同,`HAVING` 子句在数据经过分组后才应用过滤条件。这意味着 ...

    having语句的用法

    同时,你可以在同一个查询中同时使用`WHERE`和`HAVING`子句,`WHERE`先执行,`HAVING`后执行。 在查询设计器中,你可以直观地创建和编辑`WHERE`和`HAVING`子句。通常,当你在网格窗格中为列指定搜索条件时,系统会...

    sql/having用法

    需要注意的是,`HAVING`子句不能单独使用,它必须与`GROUP BY`子句一起使用。如果一个`SELECT`语句中同时包含`WHERE`子句和`HAVING`子句,那么`WHERE`子句会在数据分组之前进行筛选,而`HAVING`子句则会在数据分组...

    where和having区别

    在SQL查询语句中,`WHERE`子句和`HAVING`子句都是用于过滤数据的,但它们的作用范围和使用场景有所不同。理解这两个子句之间的区别对于编写高效、准确的SQL查询非常重要。 #### WHERE子句 `WHERE`子句主要用于在...

    基于TP框架SQL之where与having区别

    ### 基于TP框架SQL之where与having区别的详细解析 #### 一、Where与Having的区别 在SQL查询语句中,`WHERE`和`HAVING`子句都用于过滤查询结果,但它们的应用场景有所不同。 - **WHERE子句**: - 作用:在对查询...

    having-mysql

    ### MySQL中的HAVING子句详解 #### 聚合函数简介 在深入探讨`HAVING`子句之前,首先需要了解SQL...通过结合使用`GROUP BY`和`HAVING`子句,我们可以实现复杂的分组和过滤操作,从而更有效地从数据库中提取所需的信息。

    使用Having过滤分组数据.rar

    标题"使用Having过滤分组数据"和描述中的重复内容暗示我们将探讨如何利用`HAVING`子句筛选出满足特定条件的分组。 例如,假设我们有一个销售订单表,包含产品ID、销售日期和销售额等字段。如果我们想找出销售额总和...

    sql中where和having 区别

    例如,`SELECT reportsto as manager, count(*) as reports from employees group by reportsto having count(*) > 4`,这条语句首先根据`reportsto`字段对员工进行分组,然后使用`HAVING`筛选出下属数量大于4的经理...

    SQL问题详解之_having_Group by

    在实际的数据库查询中,GROUP BY和HAVING子句可以组合使用复杂的条件,以满足各种复杂的分析需求。例如,我们可能需要找出人口超过一定数量并且面积在特定范围内的地区,这可以通过在HAVING子句中同时设置多个条件来...

    where和having的区别

    这里首先通过`WHERE`子句排除部门10,再通过`GROUP BY`对剩余部门进行分组,并使用`HAVING`子句进一步筛选出工资总和超过8000的部门。 #### 7. 总结 通过以上分析可以看出,`WHERE`和`HAVING`子句虽然都用于过滤...

    order_by_、group_by_、having的用法

    在SQL查询中,`order_by_`、`group_by_`和`having`是三个非常重要的关键字,它们分别用于不同的数据处理操作。 1. `ORDER BY`:此关键字用于对查询结果进行排序,默认是升序(ASC),也可以指定降序(DESC)。在`...

    写出高性能SQL语句的35条方法

    **方法十:优化HAVING使用** HAVING子句在聚合操作完成后才对结果集进行过滤,可能导致不必要的计算和排序开销。尽可能将过滤条件移到WHERE子句中,可以减少这些开销,尤其是在大型数据集上,效果更为明显。 #### ...

    order by 、group by 、having的用法

    - `HAVING` 子句可以与聚合函数一起使用,比如 `HAVING SUM(salary) > 50000` 会筛选出总薪资超过50000的组。 - `HAVING` 子句不能包含未在 `SELECT` 语句中定义的列,但可以使用 `SELECT` 中的聚合函数。 举例...

    MySQL中无GROUP BY情况下直接使用HAVING语句的问题探究

    然而,当没有 `GROUP BY` 子句时,直接使用 `HAVING` 可能会导致非预期的行为。这个问题的探讨主要集中在 `HAVING` 后面直接跟一个聚合函数如 `MIN` 或 `MAX` 的情况下。 首先,我们来理解 `HAVING` 语句的作用。`...

    mysqlhaving用法共2页.pdf.zip

    这个查询首先按`customer_id`分组,然后计算每个客户的订单总额,最后使用`HAVING`筛选出总额大于1000的客户。 4. **`HAVING`与`WHERE`结合使用** 在某些情况下,`WHERE`和`HAVING`可以一起使用。`WHERE`用于处理...

    Having Fun with XML Hacking

    "Having Fun with XML Hacking"可能是指通过探索和利用这些漏洞来学习和理解XML注入的原理和技术。 XML注入的常见类型包括: 1. **XXE (XML External Entity Injection)**:攻击者通过定义外部实体来读取服务器上...

    精通HAVING子句:分组后条件过滤的SQL应用

    本文将详细介绍如何使用HAVING子句进行分组后的条件过滤,并探讨其在实际数据库开发中的应用。 在SQL中,GROUP BY子句用于将结果集按照一个或多个列进行分组,而HAVING子句则用于基于这些分组的结果进行条件过滤。与...

    C#为使用having语句进行多表查询

    首先,HAVING语句是在SQL中用于对聚合函数的结果进行筛选,通常与GROUP BY语句一起使用。在C#中,我们可以借助ADO.NET库来执行这样的SQL查询。ADO.NET提供了SqlConnection、SqlCommand、SqlDataAdapter和DataSet等类...

Global site tag (gtag.js) - Google Analytics