- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Group by与having理解
Group by与having理解注意:select 后的字段,必须要么包含在group by中,要么包含在having 后的聚合函数里。1. GROUP BY 是分组查询, 一般 GROUP BY 是和聚合函数配合使用group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面(重要)例如,有如下数据库表:A??? B 1??? abc 1??? bcd1??? asdfg?如果有如下查询语句(该语句是错误的,原因见前面的原则)select A,B from table group by A? 该查询语句的意图是想得到如下结果(当然只是一相情愿) A???? B ?????? abc 1???? bcd ?????? asdfg? 右边3条如何变成一条,所以需要用到聚合函数,如下(下面是正确的写法):select A,count(B) as 数量 from table group by A 这样的结果就是 A? ? 数量 1??? 3? ?2. Havingwhere 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。having 子句被限制子已经在SELECT语句中定义的列和聚合表达式上。通常,你需要通过在HAVING子句中重复聚合函数表达式来引用聚合值,就如你在SELECT语句中做的那样。例如:SELECT A COUNT(B) FROM TABLE GROUP BY A HAVING COUNT(B)2?3.使用compute和compute by? 使用compute子句允许同时观察查询所得到各列的数据的细节以及统计各列数据所产生的汇总列????? select * from work [查询所得到的各列的数据的细节]????? compute max(基本工资),min(基本工资) [统计之后的结果]? 这个例子中没有使用by关键字,返回的结果是最后添加了一行基本工资的最大值和最小值,也可增加by关键字.??????? 例:select * from work order by 学历?????????? compute max(基本工资),min(基本工资) by 学历??????? 比较:select 学历,max(基本工资),min(基本工资) from work group by 学历??????? 说明:1:compute子句必须与order by子句用在一起???????????? 2:compute子句可以返回多种结果集.一种是体现数据细节的数据集,可以按分类要求进行正确的分类;另一种在分类的基础上进行汇总产生结果.???????????? 3:而group by子句对每一类数据分类之后只能产生一个结果,不能知道细节?示例学习Northwind数据库:非相关查询:1:返回每个美国员工都为其处理过订单的所有客户--思路:1:Employees表中获取美国员工总数2:Orders表中查询美国员工处理的Order,对CustomerID分组后,统计其不同的EmployeeID正好等于美国员工总数Select CustomerID From Orders Where EmployeeID In???????? --得到美国员工服务的客户(Select EmployeeID From Employees Where Country=NUSA) -- 得到全部美国员工idgroupby?CustomerID???????????????????????????????????????? --按客户分组HavingCount(Distinct EmployeeID)=??????????????????? --为其处理订单的distinct 员工数等于美国总员工数(SelectCount(*)From Employees Where Country=NUSA)--美国员工总数2:返回在每月最后实际订单日期发生的订单(每月最后订单日期可能不是每月最后一天)--思路:子查询按月分组得到每月最近订单日期Select OrderID,CustomerID,EmployeeID,OrderDateFrom OrdersWhere OrderDate In(SelectMax(OrderDate)From Orders GroupbyConvert(char(6),OrderDate,112))--112表示YYYYM
您可能关注的文档
- innove法制感受态.doc
- PPP之MP详细配置.docx
- 家庭教育的利弊.docx
- 2011年广东省高考英语新题型之仿真模拟考试试题(三).doc
- William Deresiewicz “The End of Solitude.docx
- 美国文学课堂练习2.doc
- 德州产业基本情况介绍翻译稿.docx
- 2016考研英语阅读每日精选::巴西经济稍好于预期.doc
- 货币主义英文简介.doc
- 新课标英语课文.docx
- 现代汉语课件 2 第五章第二节词类(上)(划分词类的依据)学习资料.ppt
- 2024-2025学年高二上学期英语期末模拟卷一(新高考地区)含答案解析.pdf
- 专题17 5重点和7句话+61句能为作文增色的精彩诗文-2023年中考语文热点作文素材解读及运用.docx
- 专题16 九上Units 7-8(知识梳理+常考易错点归纳+强化提升练)(原卷版)- 备战2024年中考英语一轮复习考点帮(江苏专用).docx
- 综合训练06诗歌鉴赏+记叙文阅读+名著阅读(原卷版+解析).docx
- 专题16 文体活动-【妙笔生花】2024年中考英语写作常考文体提分秘籍(原卷版).docx
- 衔接点08九年级上册Unit2Topic1预习(原卷版+解析)-2021年【衔接教材·暑假作业】九年级英语(仁爱版).docx
- 专题27 热点素材:《灌篮高手》+国泰空乘歧视非英语乘客、AI换脸诈骗、公器私用、路怒双输-2023年中考语文热点作文素材解读及运用.docx
- 专题29 小说常考题+病句的10个“不放过”-2023年中考语文热点作文素材解读及运用.docx
- 专题28 思辨类话题名言金句+5篇关于经典人物的精彩时评+热点时评-2023年中考语文热点作文素材解读及运用.docx
文档评论(0)