数据库中最简单最原始的聚合函数
2018-06-17 21:42:51来源:未知 阅读 ()
当走在嘈杂的城市中时,什么能让我们变得冷静呢?心声向我述说了一些,“简单”不一定就真的简单,它是相对的,当我们长大了,想要保持儿时的单纯,我想只能在梦中由心所发了,因为现实让我们都变了,要想重新找回曾经的东西,可能真的很难。
就像我将要说的五个比较简单的函数,但它真的简单吗?只有你自己认真去浏览一遍才有可能读懂其中的话意,所有的问题都有一个突破口,当我们找到时,问题的简单之处油然而生,反之,再简单的问题都是你心中的永远挥之不去的阴影。所以说这些函数简不简单谁也说不准,就像世间万物均以相生相克存在着一样,
可能有人就会问了:那什么是聚合函数,又该怎么去使用它呢?
专家解析:一般在做统计分析的时候需要使用聚合函数
当我们需要计算时,我们首先想到的应该就是Sum() “求总和”、AVG() ”求平均“、COUNT() “求总记录“;那比较的函数就是MAX() "最大值" 和MIN() “最小值”。
既然我们都知道了它们的作用了,就来看看怎么运用并实现其功能的吧!!!
01.SUM()函数
--查询每个年级的总学时数,并按照升序排列
select gradeid as 年级编号,SUM(classhour) as 总学时数 from Subject group by gradeid order by 总学时数 asc
02.AVG()函数
select AVG(studentresult) as 平均分 from Result
--查询每个参加考试的学员平均分
select studentno as 学号,AVG(studentresult) as 平均分 from Result group by studentno
--查询每门课程的平均分,并按照降序排列
select subjectid as 课程编号,AVG(studentresult) as 平均分 from Result group by SubjectId order by 平均分 desc
--查询每年级学生的平均年龄:
select gradeid as 年级,AVG(DATEDIFF(YY,birthday,getdate())) as 平均年龄 from student group by GradeId
--查询参加年级考试的学生中,平均分及格的学生记录,按照降序排列 select studentno as 学号,avg(StudentResult) as 平均分 from Result group by StudentNo having avg(StudentResult)>60 order by 平均分 desc
--查询考试时间为-9-9课程的及格平均分
--课程编号 所有课程平均分
select subjectid as 课程编号,AVG(studentresult) as 所有课程平均分 from Result where ExamDate>='2009-9-9' and ExamDate<'2009-9-10' group by subjectid having AVG(StudentResult)>60
03.MAX()函数
select MAX(studentresult) as 最高分 from Result
04.MIN()函数
select min(studentresult) as 最高分 from Result
05.COUNT()函数
COUNT():统计一张表中总共有多少条数据
例如:
--查询每年级学时数超过的课程数
select gradeid as 年级编号,COUNT(subjectid) as 课程总数 from Subject where ClassHour>=50 group by GradeId
--统计至少有一次不及格的学生学号和次数。
select studentno as 学号,COUNT(studentresult) as 次数 from Result where StudentResult<60 group by studentno
--查询每个年级包含北京的学生总数
select gradeid as 年级,COUNT(studentno) as 总人数 from student where Address like '%北京%' group by GradeId
最后需要记住五个函数都要遵守的注意事项:
--如果语句中有group by关键字,那么select后只能跟group by后出现的列,或者是聚合函数
--max() min() count(),sum(),avg()
最后,希望我的作品能够让您满意,如有不足之处,请不要吝啬你的建议,只有这样我的作品才能令你满意;因为一次的缺漏永远会给下一次补充、让其变得更好。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 链接 Mysql 创建 数据库和创表,增加数据 2019-08-13
- django修改表数据结构后报错的解决办法 2019-07-24
- 原创:Python编写通讯录,支持模糊查询,利用数据库存储 2019-07-24
- Python--代码1(接口测试:测试用例从数据库读取写到yaml文 2019-07-24
- python数据库-MySQL与python的交互(52) 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash