10-31SQLserver基础--聚合函数、分组
在查询语句时,也存在一些方法和属性,而这些方法在查询时统称为函数,便利查询时使用
聚合函数(都是针对字段操作)
聚合是缩减一系列输入值的表达式,例如缩减为单个值。
Select*from biao
1、--求平均分AVG:只能对数字类型的操作,返回一个值(返回非null值的平均值)
Select AVG(age)from biao--执行后没有列名
Select AVG(age) as nianing from biao---执行后有列名,加as.
--放在select...from之间的一定是列名。
--as(...)里面可以起别名
--加条件用where:
例:Select AVG(yuwen) as 语文平均 from biao where banji=‘1班’
2、--求总数COUNT,只有2种要么count(*),要么(distinct)去重。(返回包含null值和重复值的聚合的大小)
1)Select COUNT(*) from biao count(*)查询表所有
Select COUNT(*) from biao where name like‘王%’
2)Select COUNT(distinct banji) from biao
3、--求最大值MAX ()+字段(返回非null值的最大值)
Select MAX(yuwen)as...(+别名) from biao where banji=’1班’
4、--求最小值MIN()+字段(返回非null值的最小值)
Select MIN(yuwen)as...(+别名) from biao where banji=’2班’
5、--求总和SUM(返回非null 值的总和)
Select SUM(yuwen) from biao
Select SUM(yuwen) from biao where....
6、组合使用聚合函数(以上这些聚合函数,都是返回一行一列数值)
select AVG(age) as 平均年龄,COUNT(*) as 人数 from biao where banji='1班'
以上5种是常用的聚合函数(重点记忆),聚合函数都包含 all(所有)和distinct(去重),什么都不写,默认是all;
除此之外,聚合函数还包括COUNT-BIG,CHECKSUM等13种。
例:

7、--分组group by(等同于聚合函数里的grouping),针对某一列操作。可以组合上面学的聚合函数

不同于聚合函数的是,聚合函数只能显示一个值,而分组显示一组值(每一组)。
select banji from biao group by banji
--按照要求,先分组再结合聚合函数操作
select banji AVG(yuwen) from biao group by banji
--分组也可以加条件where
Select nianing from biao where nianling>20 group by nianling
(补充)关系运算符:
=/!=/

例:select nianling,COUNT(*)from biao where nianling between 20and 25 group by nianling
select grade,COUNT(*)from xuesheng where yuwen>60 group by grade
8、--having是group by独有的,(只能加聚合函数的选择条件)
having是针对统计好的结果进行筛选,所以使用having的前提必须使用group by.
select grade,COUNT(*)from xuesheng where yuwen>60 group by grade having COUNT(*)>9
执行having的条件顺序:
1)查询整个表
2)先看where条件
3)筛选完再执行group by
4)再执行前面的聚合函数,针对每组分别操作
5)最后执行having后面的聚合函数。
9、group by....order by....
例:Select banji,COUNT(*)from biao where yuwen>75 group by banji order by COUNT(*) desc
执行order by条件先后顺序:
1)查询整个表
2)先看where条件
3)筛选完再执行group by
4)再执行前面的聚合函数,针对每组分别操作
5)最后执行order by..后面的聚合函数。
例题:
select grade,MAX(shuxue)as 数学最高,MIN(shuxue) as 数学最低,MAX(yuwen)as 语文最高,MIN(yuwen) as 语文最低,MAX(yingyu)as 英语最高,MIN(yingyu) as 英语最低 from xuesheng group by grade having MAX(shuxue)>80 order by MAX(shuxue) desc

数学函数
1、---绝对值
select ABS(-7)--是查处结果在结果框中显示

2、 print abs(-4)--在消息框中显示

select Code,xingming,sex,nianling,weight,abs(yuwen)as yuwen from xuesheng
select Code,xingming,sex,nianling,weight,yuwen from xuesheng where ABS(yuwen)>90
select* from xuesheng where ABS(yuwen)>90
3、---取上限
select CEILING(1.1)--ceiling取上限
select CEILING(shuxue) from xuesheng where (shuxue-CEILING(shuxue))!=0
select * from xuesheng where CEILING(shuxue)>=90--CEILING在查询语句中的格式

4、---取下限
select FLOOR(1.5)
select FLOOR(shuxue)from xuesheng where Code=2--FLOOR在查询语句中的格式

5、--次方
select POWER(3,2)--表示3的2次方等于几就返回几
select '这是'+xingming+'年龄的平方',POWER(nianling,2)from xuesheng--当只有age的数据类型为字符串的时候

6、---四舍五入
select ROUND(2.54655,0)--(a,b)a表示将要四舍五入的数,b表示要四舍五入到小数点后的位数
select shuxe,ROUND(shuxue,0) as shehou from xuesheng--ROUND在查询中的格式

7、--求平方根
select SQRT(4)

8、----求平方
select SQUARE(3)

10-31SQLserver基础--聚合函数、分组的更多相关文章
- 18 12 06 sql 的 基本语句 查询 条件查询 逻辑运算符 模糊查询 范围查询 排序 聚合函数 分组 分页 连接查询 自关联 子查询
-- 数据的准备 -- 创建一个数据库 create database python_test charset=utf8; -- 使用一个数据库 use python_test; -- 显示使用的当前 ...
- MySQL☞聚合函数/分组函数
分组函数(聚合函数) 1.count(*/列名): a.*:求出该数据的总条数 select count(*) from 表名 b.列名:求出该列中列名不为null的总条数 select cou ...
- sqlserver 模糊查询,连表,聚合函数,分组
use StudentManageDB go select StudentName,StudentAddress from Students where StudentAddress like '天津 ...
- ORM中聚合函数、分组查询、Django开启事务、ORM中常用字段及参数、数据库查询优化
聚合函数 名称 作用 Max() 最大值 Min() 最小值 Sum() 求和 Count() 计数 Avg() 平均值 关键字: aggregate 聚合查询通常都是配合分组一起使用的 关于数据库的 ...
- MySQL全面瓦解10:分组查询和聚合函数
概述 相信我们经常会遇到这样的场景:想要了解双十一天猫购买化妆品的人员中平均消费额度是多少(这可能有利于对商品价格区间的定位):或者不同年龄段的化妆品消费占比是多少(这可能有助于对商品备货量的预估). ...
- SqlServer 多表连接、聚合函数、模糊查询、分组查询应用总结(回归基础)
--exists 结合 if else 以及 where 条件来使用判断是否有数据满足条件 select * from Class where Name like '%[1-3]班' if (not ...
- orm中的聚合函数,分组,F/Q查询,字段类,事务
目录 一.聚合函数 1. 基础语法 2. Max Min Sum Avg Count用法 (1) Max()/Min() (2)Avg() (3)Count() (4)聚合函数联用 二.分组查询 1. ...
- 20141031--SQL分组,数学函数,聚合函数
/* 通过代码操作:创建一个数据库,里面有一个学生信息表, 内容包括:学号,姓名,性别,体重,年龄,语数外三门课分数,班级 插入20条数据 执行以下查询操作: 1.查姓王的同学的信息 2.分别查每门课 ...
- SQL Server 基础 04 函数与分组查询数据
函数与分组查询数据 系统函数分 聚合函数.数据类型转换函数.日期函数.数学函数 . . . 1. 聚合函数 主要是对一组值进行计算,然后返回一个值. 聚合函数包括 sum(求和).avg(求平均值). ...
随机推荐
- javascript是一种面向对象语言吗?如果是,您在javascript中是如何实现继承的呢
·oop(面向对象程序设计)中最常用到的概念有 1.对象,属性,方法 1>(对象:具体事物或抽象事物,名词) 2>(属性:对象的特征,特点,形容词) 3>(方法:对象的动作,动词) ...
- Windows平台下Qt QOpenGL中glutSolidSphere()方法未定义的解决方法
Windows平台下Qt中glut库的使用 用Qt中的QGLWidget窗体类中是不包括glut工具库的,难怪在myGLWidget(在我的程序中是QGLWidget的派生类)中绘制实心球体是 ...
- virualbox andirodx86
背景 谷歌提供的andriod sdk模拟器在windows平台上很卡,是因为sdk是针对arm处理器架构的(就是嵌入式),而我们的windows系统是 x86架构 或者是 AMD架构,所以安卓模拟器 ...
- 如何关闭Windows10系统更新
单击左下角开始菜单点击设置图标进入设置界面 在设置窗口中输入“服务”搜索 在结果中选择查看本地服务 在服务列表中找到windows update服务双击它 点击停止按钮先停止该服务,稍等片 ...
- 伯乐在线文章URL
一段代码,可以跑出所有文章的url # encoding: utf-8 import requests from bs4 import BeautifulSoup base_url = 'http:/ ...
- 2018-2019-2 20165210《网络对抗技术》Exp6 信息搜集与漏洞扫描
2018-2019-2 20165210<网络对抗技术>Exp6 信息搜集与漏洞扫描 一.实验目标: 掌握信息搜集的最基础技能与常用工具的使用方法. 二.实验内容: 各种搜索技巧的应用 G ...
- poj3061 Subsequence&&poj3320 Jessica's Reading Problem(尺取法)
这两道题都是用的尺取法.尺取法是<挑战程序设计竞赛>里讲的一种常用技巧. 就是O(n)的扫一遍数组,扫完了答案也就出来了,这过程中要求问题具有这样的性质:头指针向前走(s++)以后,尾指针 ...
- 6.MySQL优化---高级进阶之表的设计及优化
转自互联网整理. 优化之路高级进阶——表的设计及优化 优化①:创建规范化表,消除数据冗余 数据库范式是确保数据库结构合理,满足各种查询需要.避免数据库操作异常的数据库设计方式.满足范式要求的表,称为规 ...
- CCEditBox
EditBox 创建添加 以及 一些函数参数的解析 #include "GUI/CCEditBox/CCEditBox.h" #include "GUI/CCContro ...
- shell变量扩展技巧
SHELL中有一些变量扩展的技巧,做下归纳总结 1.取字符串slice规则一:${变量名:位置起点}含义:由指定的位置起点开始,截取子字符串到字符串结束例如: var="/etc/passw ...