- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6节 函数
目的:理解、掌握、运用几个常用函数。
SQL Server提供了5类函数:聚合函数,日期时间函数,数学函数,字符串函数,系统函数等。
6.1聚合函数与聚合查询
聚合函数对一组值执行计算并返回单一的值。聚合函数忽略空值。聚合函数经常与SELECT语句的GROUP BY子句一同使用构成聚合查询。
avg()
例1 查询药品的平均售价
SELECT avg(单价)
FROM 药品
例2 查询现金科目的借方金额的平均值
SELECT avg(借方金额)
FROM 凭证库
WHERE 科目名称 = 现金
思考:从语义上分析,查询结果有几行?
max()和min():
max ( 表达式 ):返回表达式的最大值。
min ( 表达式 ):返回表达式的最小值。
例3 查询凭证库表中借方金额的最大值
SELECT max(借方金额)
FROM 凭证库
例4查询凭证库表中借方金额的最小值
SELECT min(借方金额)
FROM 凭证库
例5查询凭证库表中借方金额的最大值和最小值
SELECT max(借方金额), min(借方金额)
FROM 凭证库
求均值函数avg()的完整格式是:avg ( [ ALL | DISTINCT ] 表达式 )。该函数返回组中值的平均值,忽略空值。ALL对所有的值进行聚合函数运算。ALL 是默认设置。DISTINCT指定 AVG 操作只使用每个值的唯一实例,而不管该值出现了多少次。执行计算时消除空值很重要,因为如果包含空值列,某些计算(如平均值)会不准确。
例如,表T1有一个数值型字段Num,如下:
T1
Num Name 陈明 50 张力 70 董庆 执行:
SELECT avg(Num)
FROM T1
结果: 60
从结果很容易看出,avg忽略了空值。
例如,表T2如下:
T2
Num Name 50 陈明 50 张力 70 董庆 执行:
SELECT avg(distinct Num)
FROM T2
结果:60
动手练习
查询2003年1月份现金凭证的借方金额的最大值、最小值和平均值。
sum()
例6 求借方金额的汇总
SELECT sum(借方金额) AS 借方金额汇总
FROM 凭证库
例7 求借方金额、贷方金额的汇总
SELECT sum(借方金额) AS 借方金额汇总, sum(贷方金额) AS 贷方金额汇总
FROM 凭证库
求和函数sum()的完整格式是:sum ( [ ALL | DISTINCT ] 表达式 ),该函数返回表达式中所有值的和。sum只能用于数字列。忽略空值。ALL对所有的值进行聚合函数运算。ALL 是默认设置。DISTINCT指定 SUM 返回唯一值的和。
动手练习
查询2003年1月份现金凭证的借方金额总额和贷方金额总额的差值。
count():
例8 查询住院收费表中,10205部门有多少条收费记录。
SELECT count(*)
FROM 住院收费
WHERE 部门号 =10205
例9 查询住院收费表中有多少条收费记录
SELECT count(*)
FROM 住院收费
下面查询是否与上面查询等价?
SELECT count(医生号)
FROM 住院收费
计数函数count()的完整格式是:count ( { [ ALL | DISTINCT ] 表达式 } | * ) ),该函数返回组中行的数量。 count(*) 返回组中行的数量,count(表达式) 对组中的每一行都计算 表达式并返回表达式取值不为空值的行的数量。默认情况下,以上两种用法都包括重复行,而count(DISTINCT 表达式) 对表达式的重复值只统计一次。ALL 是默认设置。
已知表T1和T2,表中均含有空值。请分析下面查询的结果:
T1
Num Name Null 陈明 50 张力 70 董庆
T2
Num Name 50 陈明 50 张力 70 董庆 Null 李华
1) SELECT count(*)
FROM T1
2) SELECT count(num)
FROM T1
3) SELECT count(distinct num)
FROM T2
注意:使用聚合函数的查询称为聚合查询,查询结果在没有使用GROUP BY 子句的情况下最多只有一行。而且,在没有使用GROUP BY子句的情况下,SELECT后面的每个表达式都要使用聚合函数。例如,以下SQL语句是错误的:
SELECT 科目编码, 科目名称, min(借方金额)
FROM 凭证库
在查询分析器中执行,将返回以下错误信息:
服务器: 消息 8118,级别 16,状态 1,行 1
列 凭证库.科目编
您可能关注的文档
- Software Engineer软件工程师英文简历.doc
- socket阻塞式和非阻塞式通信.doc
- soildworks1010三星正版安装教程.doc
- Solaris 系统管理命令及相关技术中英文对照参考.doc
- Solaris:crontab的用法(定时任务).doc
- SolarWinds解决方案.doc
- SolidWorks的二次开发在箱体类零件中的应用.doc
- solidworks简介.doc
- SOPC复习资料.doc
- SourceInsight配置WinAVR.doc
- 医药行业并购风险评估与尽职调查风险识别与应对策略报告.docx
- 移动学习场景下,轻量化AI教育资源界面设计对小学生自主学习能力的影响研究教学研究课题报告.docx
- 小学信息科技教育中网络安全教育的重要性与实施策略教学研究课题报告.docx
- 中国跨境电商跨境电商平台用户体验研究报告:2025年洞察.docx
- 重症监护室谵妄患者的护理干预与患者康复效果评价及优化策略教学研究课题报告.docx
- 考虑桩-土-结构相互作用的框架结构建筑抗震性能研究.docx
- 城市地下综合管廊智慧运维系统2025年智能化改造案例分析.docx
- 2025年餐饮行业目标用户需求洞察研究报告.docx
- 城市地下综合管廊智慧运维系统在2025年城市地下空间管理中的应用.docx
- 2025年城市共享自习室连锁化会员管理体系研究报告.docx
最近下载
- 2025年台湾AI行销趋势报告(繁体版)-Kolr.docx VIP
- 湖北办公楼监控及电子围栏系统施工组织设计.doc VIP
- 围栏(施工组织设计围栏(施工组织设计).doc VIP
- 2024年台湾YouTube年度社群内容趋势报告(繁体版)-Kolr.pptx VIP
- 诺尔起重设备(中国)有限公司RTG&RMG中国福建招商局漳州开发区363105.pdf VIP
- 小区沥青道路设计做法.doc VIP
- 2025年台湾AI行销趋势报告(繁体版)-Kolr.pdf VIP
- 防雷安全知识试题及答案.doc VIP
- 智能体协议:MCP、A2A、ANP-智能体互联网的黎明之前.docx
- 国有企业收购合同协议.docx VIP
文档评论(0)