热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

asp点击按钮sql列求和_SQL汇总查询及分组查询

count求某列的行数sum对某列数据求和avg求某列数据的平均值max求某列数据的最大值min求某列数据的最小值一.汇总分析计数函数count:*注如果count函

count 求某列的行数

sum 对某列数据求和

avg 求某列数据的平均值

max 求某列数据的最大值

min 求某列数据的最小值

一.汇总分析

计数函数count:

v2-29b5d93bd50b5af85c7fa494167c9877_b.jpg
v2-eb9e18ee3adbf2350246c694bb3f5382_b.jpg

*注 如果count函数中输入的是列名,得到的是去除空值后的行数,其他所有的汇总函数也是,如果输入的是列名会提前把NULL排除在外,再进行计算。

v2-5ab7ec7025c20b4e9bcf5d1b947883c8_b.jpg

输入*会计算空值

求和函数sum:

v2-0b567c67abce356fa76468ac6900f661_b.jpg

最大值max 最小值min:

v2-90ddb30223a6948917b95599b02bdcd0_b.jpg

去重计数count(distinct 列名 ):

v2-0f2f04a373758b9ad073150151005137_b.jpg

其他汇总函数也可以这么用,在列名前面加上distinct

总结

v2-d269aa847d3ed34b745664a86026e9ed_b.jpg

1.汇总函数输入列的时候,是把NULL去除后计算

2.sum avg 只能对数值类型计算

3.max min 可以对任何类型进行计算(日期、字符串)

课后练习:

查询课程编号为“0002”的总成绩

v2-a186201cbf3e774b0a6c19602dd09ed1_b.jpg

查询选了课程的学生人数

v2-fd29491ffe1c433989ddad0933e0d536_b.jpg

二.分组 group by

v2-2908339d6db718380aa24e1bf9a56830_b.jpg
v2-131094aabc6075d01e0d081db89e4410_b.jpg
v2-0a640df2aada5ff9386f27529fa77c75_b.jpg
v2-2155679fea44d2ed305d82f8d5fb078a_b.jpg

查询各科成绩最高和最低的分

v2-f913ae2c542bb88aa2b8ec4f44402e22_b.jpg

查询每门课程被选修的学生数

v2-1b2ab5cb324fe38fa4fa86701137dd03_b.jpg

查询男生、女生人数

v2-cd7542f2008a4ee8740851462a2b8c9f_b.jpg

三.对分组结果指定条件

where只能指定行的条件,having能够指定分组后需要哪一组

v2-a386b64e2e8e1440c7d461429115d7ff_b.jpg

练习:

查询平均成绩大于60分学生的学号和平均成绩

v2-9dd1fd9a325e16503ed8e43506998229_b.jpg

查询至少选修两门课程的学生学号

v2-f317cf4e8e7ef5e8e523b94206e75628_b.jpg

查询同名同姓学生名单并统计同名人数

v2-10931e9ea867b3d93cb02a9574ec9695_b.jpg

四.用sql解决业务问题

1.翻译成大白话

2.写出分析思路

3.写出对应的sql子句

v2-89b05e90efe2a53a5306ad971b92fab0_b.jpg

分析思路:

如何计算各科的平均成绩

翻译:

如何计算每门课程的平均成绩

v2-2fdb3934590bf191dbb7b429c8c73d48_b.jpg

分析思路:把关键词放到对应的sql关键词后面

v2-69bb83d19b77df6cb9911f01976c2448_b.jpg
v2-87d09e6cb920dd701fbab621504012f4_b.jpg

五.对查询结果排序 order by

降序desc 升序asc

v2-c73c69421eed9ceb476701cb96a61683_b.jpg

运行顺序:

v2-ffb71d6e7c15b28db0e8198039420d19_b.jpg

指定多个排序列名:

order by 成绩 asc,课程号 desc; 从左到右依次排列

v2-ba8827a56af7d47e54cb8ef879edd4c9_b.jpg

从查询结果中取出指定行:limit

v2-981995d6add175a95ff1b079957104f9_b.jpg

SQL运行顺序

1.先运行篮框里的子句,子句按照书写顺序运行

2.select 子句

3.最后运行红框里的子句

v2-2fb39e9b74cac3136ae3f498a9cbb582_b.jpg

练习:理解sql的运行顺序

查询不及格的课程并按课程号从大到小排列

v2-e0dfac8c90ba247a75f4b3313227b632_b.jpg

查询每门课程的平均成绩,结果按平均成绩升序排序,平均成绩相同的按课程号降序排列

v2-64de7b4aa141611c4aa748b009342c5e_b.jpg

六.如何读懂报错

1.在group by 中使用了select里的别名

v2-d0f27a1426adcd6cb13cefd205afcea4_b.jpg

因为having子句在select子句之前运行,所以不知道平均成绩是什么

2.常见问题:字符串类型的数字

字符串类型和数值类型的排序规则不同,需要先修改字符串类型为数值类型

v2-b179fb9d077ec38a6bae6474a16adf09_b.jpg



推荐阅读
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了如何在MySQL中将零值替换为先前的非零值的方法,包括使用内联查询和更新查询。同时还提供了选择正确值的方法。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 本文介绍了通过mysql命令查看mysql的安装路径的方法,提供了相应的sql语句,并希望对读者有参考价值。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
author-avatar
大脸猫妈妈-啊珍妮妮_786
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有