- 浏览: 1010391 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (394)
- OSGI (14)
- 多线程 (10)
- 数据库 (30)
- J2ME (1)
- JAVA基础知识 (46)
- 引用包 (1)
- 设计模式 (7)
- 工作流 (2)
- Ubuntu (7)
- 搜索引擎 (6)
- QT (2)
- Ubuntu下编程 (1)
- 小程序 (2)
- UML (1)
- Servlet (10)
- spring (16)
- IM (12)
- 文档视频转为flash格式在线播放 (19)
- Maven (8)
- 远程调用 (2)
- PHPRPC (1)
- EXTJS学习 (2)
- Hibernate (16)
- 技术文章 (38)
- flex (5)
- 海量数据处理 (5)
- FTP (8)
- JS (10)
- Struts (1)
- hibernate search (13)
- JQuery (2)
- EMail (3)
- 算法 (4)
- SVN (7)
- JFreeChart (4)
- 面试 (4)
- 正规表达式 (2)
- 数据库性能优化 (10)
- JVM (6)
- Http Session Cookie (7)
- 网络 (12)
- Hadoop (2)
- 性能 (1)
最新评论
-
hy1235366:
能够随便也发一下,你退火算法程序使用的DistanceMatr ...
模拟退火算法总结(含例子)(转) -
梅强强:
感谢分享。。帮大忙了
swftools转换文件时线程堵塞问题的解决方法 -
wenlongsust:
openoffice和文件不在同一个服务器上,用过吗?
[JODConverter]word转pdf心得分享(转) -
2047699523:
如何在java Web项目中开发WebService接口htt ...
利用Java编写简单的WebService实例 -
abingpow:
唉,看起来好像很详细很不错的样子,可惜不是篇面向初学者的文章, ...
Spring与OSGi的整合(二)(转)
在select 语句中可以使用group by 子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。group by 子句可以将查询结果分组,并返回行的汇总信息Oracle 按照group by 子句中指定的表达式的值分组查询结果。
在带有group by 子句的查询语句中,在select 列表中指定的列要么是group by 子句中指定的列,要么包含聚组函数 select max(sal),job emp group by job; 查询语句的select 和group by ,having 子句是聚组函数唯一出现的地方,在where 子句中不能使用聚组函数。 select deptno,sum(sal) from emp where sal>1200 group by deptno having sum(sal)>8500 order by deptno; 当在gropu by 子句中使用having 子句时,查询结果中只返回满足having条件的组。在一个sql语句中可以有where子句和having子句。having 与where 子句类似,均用于设置限定条件 查询每个部门的每种职位的雇员数 GROUP BY... was added to SQL because aggregate functions (like SUM) return the aggregate of all column values every time they are called, and without the GROUP BY function it was impossible to find the sum for each individual group of column values. The syntax for the GROUP BY function is: This "Sales" Table: And This SQL: Returns this result: The above code is invalid because the column returned is not part of an aggregate. A GROUP BY clause will solve this problem: Returns this result: HAVING... was added to SQL because the WHERE keyword could not be used against aggregate functions (like SUM), and without HAVING... it would be impossible to test for result conditions. The syntax for the HAVING function is: This "Sales" Table: This SQL: Returns this result
(注意max(sal),job的job并非一定要出现,但有意义)
where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。
select deptno,job,count(*) from emp group by deptno,job;GROUP BY...
GROUP BY...之所以加到SQL中去是因为集合函数(像SUM)每当他们被访问时就会返回集合所有栏目的值,而且没有GROUP BY的话就不能够找出单独一种栏目所累计的值了。
使用GROUP BY函数的语法为:
SELECT column,SUM(column) FROM table GROUP BY column
GROUP BY Example
举例
这是张名为"Sales"的表:
Company
Amount
W3Schools
5500
IBM
4500
W3Schools
7100
这是条SQL:
SELECT Company, SUM(Amount) FROM Sales
返回的结果为:
Company
SUM(Amount)
W3Schools
17100
IBM
17100
W3Schools
17100
上面这些代码几乎是无效的(这个是将整个表作为一组,使用用了聚组函数),因为栏目所返回的数值并不属于我们想要的那种合计。使用 GROUP BY子句可以解决这个问题:
SELECT Company,SUM(Amount) FROM Sales
GROUP BY Company
返回的结果为:
Company
SUM(Amount)
W3Schools
12600
IBM
4500
HAVING...
WHERE关键字在使用集合函数时不能使用,所以在集合函数中加上了HAVING来起到测试查询结果是否符合条件的作用。
HAVING的使用语法为:
SELECT column,SUM(column) FROM table
GROUP BY column
HAVING SUM(column) condition value
这是名为"Sales"的表:
Company
Amount
W3Schools
5500
IBM
4500
W3Schools
7100
SQL语句:
SELECT Company,SUM(Amount) FROM Sales
GROUP BY Company
HAVING SUM(Amount)>10000
返回的结果为
Company
SUM(Amount)
W3Schools
12600
发表评论
-
SQL查询前10条记录(SqlServer/mysql/oracle/sybase)[语法分析] (转)
2011-04-22 00:45 5499这篇文章主要是分析下 ... -
使用PreparedStatement防止SQL注入(转)
2011-04-18 14:58 1823一条效率差的sql语句, ... -
JDBC Class.forName作用(转)
2011-04-13 14:53 1226使用JDBC时,我们都会很自然得使用下列语句: ... -
关于数据库内连接外连接左连接右连接(转)
2011-03-26 19:04 1612内连接:把两个表中数据对应的数据查出来 外连接:以某个表为基础 ... -
数据库事务隔离级别与锁(转)
2011-03-26 18:57 1294一,事务的4个基本特征 Atomic(原子性): 事务中包含的 ... -
PreparedStatement效率为什么高/为什么要使用PreparedStatement代替Statement(转)
2011-03-25 09:28 2797在JDBC应用中,如果你 ... -
浅谈数据库索引(转)
2011-03-23 10:10 1218数据库索引是为了增加查询速度而对表字段附加的一 ... -
漫谈数据库索引(转)
2011-03-23 10:00 1064一、引言 对数据库索引的关注从未淡出我的们的讨论,那 ... -
用SQL语句去掉重复的记录(转)
2011-03-23 01:25 6871海量数据(百万以上) ... -
数据库范式(转)
2011-03-23 01:18 1455当前我们使用的主流数 ... -
mysql中limit的用法详解[数据分页常用] (转)
2011-01-08 16:44 1437在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据, ... -
查询优化的必要性(转)
2010-12-19 09:55 1510查询优化的最终目的是为了提高数据库系统的性能 ... -
Oracle导出数据(转)
2010-12-14 15:33 15151.1 exp 使用方法及 ... -
oracle初次使用
2010-12-14 13:06 1109以前都习惯了使用MySQL ... -
Mysql连接字符串大全(转)
2010-08-15 21:25 4874mysql JDBC 驱动常用的有两个,一个是gj ... -
Mysql的transaction实现(转)
2010-08-15 15:02 1976transaction在数据库编程 ... -
Hibernate 各种数据库的配置(转)
2010-07-22 20:27 16531. MySql连接配置 MySql数据库的hib ... -
左连接、右连接、全连接及区别(转)
2010-05-16 15:23 4330上节我们介绍了表连接,更确切的说是inner joins內连接 ... -
查询重复记录sql (转)
2010-05-16 15:23 1268这是我的一次笔试题,是查询一个表(id,name)中重复的记录 ... -
我的面试题总结之三:海量数据查询优化(精)(转)
2010-05-16 15:21 2440这是我面试的 ...
相关推荐
在SQL查询中,GROUP BY和HAVING子句是数据分析和聚合操作的核心部分,它们帮助我们对数据进行分组和过滤,以获得更有意义的结果。在深入理解这两个子句之前,我们首先需要了解聚合函数,如SUM、COUNT、MAX和AVG等。 ...
GROUP BY 语句还有其他高级用法,比如配合 HAVING 子句进行分组后的条件筛选,或者与子查询和联接操作结合使用,以实现更复杂的分析需求。总的来说,理解并熟练运用 GROUP BY 语句对于在 SQL 查询中进行数据分析至关...
在SQL查询中,`ORDER BY`、`GROUP BY` 和 `HAVING` 是三个非常重要的子句,它们分别用于不同的数据处理操作。 1. **ORDER BY** 子句: - `ORDER BY` 用于对查询结果进行排序,按照指定的字段进行升序或降序排列。...
在SQL查询中,`order_by_`、`group_by_`和`having`是三个非常重要的关键字,它们分别用于不同的数据处理操作。 1. `ORDER BY`:此关键字用于对查询结果进行排序,默认是升序(ASC),也可以指定降序(DESC)。在`...
- 作用:在对查询结果进行分组(GROUP BY)前,根据指定条件筛选记录,即在分组之前过滤数据。 - 特点:条件中不能包含聚合函数,因为此时数据尚未经过分组,聚合函数无法计算出有意义的结果。 - 示例用途:显示...
在SQL查询中,`GROUP BY`和`HAVING`是两个非常重要的子句,它们用于数据的分组和过滤,特别是在处理聚合数据时。本文将深入解析这两个概念及其使用方法。 首先,`GROUP BY`子句是用于将数据集按照指定的列或表达式...
在 SQL 查询语言中,`HAVING` 子句被用来过滤由 `GROUP BY` 子句产生的结果集。与 `WHERE` 子句不同,`HAVING` 子句在数据经过分组后才应用过滤条件。这意味着 `HAVING` 子句可以包含聚合函数(如 `SUM()`, `AVG()`,...
在`SELECT`语句中,`HAVING`子句总是与`GROUP BY`子句配合使用。当表中的数据通过`GROUP BY`子句被分组后,每一组数据实际上就成为了一个独立的单元。此时,`HAVING`子句就可以对这些数据单元进行条件筛选。筛选条件...
在SQL查询中,`WHERE`、`GROUP BY`和`HAVING`子句都是用于数据筛选和分组的重要部分,但它们各自承担不同的任务。理解它们的用法对于编写有效的SQL查询至关重要。 首先,`WHERE`子句是SQL查询中最基本的过滤条件,...
SQL中的`GROUP BY`语句是数据库查询中的一个重要部分,它用于将数据按照一个或多个列的值进行分组,以便对每个组执行聚合函数,如`SUM`、`COUNT`、`AVG`和`MAX`等。下面我们将详细讨论`GROUP BY`的使用方法及其相关...
SQL 基础 SQL 首页 SQL 简介 SQL 语法 ...SQL Group By SQL Having SQL ucase() SQL lcase() SQL mid() SQL len() SQL round() SQL now() SQL format() SQL 总结 SQL 快速索引 SQL 总结
### SQL中的ORDER BY, GROUP BY, HAVING 的用法区别详解 #### 一、概述 在SQL查询语言中,`ORDER BY`, `GROUP BY`, 和 `HAVING` 是三个非常重要的概念,它们分别用于对查询结果进行排序、分组以及在分组后进一步...
在7.10 GROUP BY Restrictions这一部分,作者深入探讨了在使用GROUP BY子句时的一些限制和注意事项,这对于理解和编写高效、正确的SQL查询至关重要。 1. GROUP BY基础:GROUP BY子句用于将数据集按照一个或多个列...
当同时出现了where_group_by_having_order_by的时候_执行顺序和编写顺序时的用法
在MySQL数据库中,`GROUP BY` 和 `HAVING` 是两个非常重要的SQL子句,它们在数据分析和报表生成中扮演着关键角色。`GROUP BY` 用于将数据按照指定的一个或多个列进行分组,而 `HAVING` 则用于在分组后对这些分组进行...
在MySQL中,`GROUP BY` 和 `HAVING` 通常一起用于聚合查询,用来筛选满足特定条件的分组。...在实际开发中,应尽量遵循SQL的标准规范,使用 `GROUP BY` 来配合 `HAVING`,确保查询的准确性和效率。
通过本教程的学习,读者不仅可以掌握SQL的基础操作,还能了解如何使用更复杂的指令,如`GROUP BY`和`HAVING`来进行数据汇总分析。SQL的强大之处在于其灵活性和扩展性,能够应对各种数据处理需求。希望本教程能为您的...