在查询语句时,也存在一些方法和属性,而这些方法在查询时统称为函数,便利查询时使用

聚合函数(都是针对字段操作)

聚合是缩减一系列输入值的表达式,例如缩减为单个值。

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基础--聚合函数、分组的更多相关文章

  1. 18 12 06 sql 的 基本语句 查询 条件查询 逻辑运算符 模糊查询 范围查询 排序 聚合函数 分组 分页 连接查询 自关联 子查询

    -- 数据的准备 -- 创建一个数据库 create database python_test charset=utf8; -- 使用一个数据库 use python_test; -- 显示使用的当前 ...

  2. MySQL☞聚合函数/分组函数

    分组函数(聚合函数) 1.count(*/列名): a.*:求出该数据的总条数 select  count(*)  from 表名 b.列名:求出该列中列名不为null的总条数 select  cou ...

  3. sqlserver 模糊查询,连表,聚合函数,分组

    use StudentManageDB go select StudentName,StudentAddress from Students where StudentAddress like '天津 ...

  4. ORM中聚合函数、分组查询、Django开启事务、ORM中常用字段及参数、数据库查询优化

    聚合函数 名称 作用 Max() 最大值 Min() 最小值 Sum() 求和 Count() 计数 Avg() 平均值 关键字: aggregate 聚合查询通常都是配合分组一起使用的 关于数据库的 ...

  5. MySQL全面瓦解10:分组查询和聚合函数

    概述 相信我们经常会遇到这样的场景:想要了解双十一天猫购买化妆品的人员中平均消费额度是多少(这可能有利于对商品价格区间的定位):或者不同年龄段的化妆品消费占比是多少(这可能有助于对商品备货量的预估). ...

  6. SqlServer 多表连接、聚合函数、模糊查询、分组查询应用总结(回归基础)

    --exists 结合 if else 以及 where 条件来使用判断是否有数据满足条件 select * from Class where Name like '%[1-3]班' if (not ...

  7. orm中的聚合函数,分组,F/Q查询,字段类,事务

    目录 一.聚合函数 1. 基础语法 2. Max Min Sum Avg Count用法 (1) Max()/Min() (2)Avg() (3)Count() (4)聚合函数联用 二.分组查询 1. ...

  8. 20141031--SQL分组,数学函数,聚合函数

    /* 通过代码操作:创建一个数据库,里面有一个学生信息表, 内容包括:学号,姓名,性别,体重,年龄,语数外三门课分数,班级 插入20条数据 执行以下查询操作: 1.查姓王的同学的信息 2.分别查每门课 ...

  9. SQL Server 基础 04 函数与分组查询数据

    函数与分组查询数据 系统函数分 聚合函数.数据类型转换函数.日期函数.数学函数 . . . 1. 聚合函数 主要是对一组值进行计算,然后返回一个值. 聚合函数包括 sum(求和).avg(求平均值). ...

随机推荐

  1. javascript是一种面向对象语言吗?如果是,您在javascript中是如何实现继承的呢

    ·oop(面向对象程序设计)中最常用到的概念有 1.对象,属性,方法 1>(对象:具体事物或抽象事物,名词) 2>(属性:对象的特征,特点,形容词) 3>(方法:对象的动作,动词) ...

  2. Windows平台下Qt QOpenGL中glutSolidSphere()方法未定义的解决方法

    Windows平台下Qt中glut库的使用     用Qt中的QGLWidget窗体类中是不包括glut工具库的,难怪在myGLWidget(在我的程序中是QGLWidget的派生类)中绘制实心球体是 ...

  3. virualbox andirodx86

    背景 谷歌提供的andriod sdk模拟器在windows平台上很卡,是因为sdk是针对arm处理器架构的(就是嵌入式),而我们的windows系统是 x86架构 或者是 AMD架构,所以安卓模拟器 ...

  4. 如何关闭Windows10系统更新

    单击左下角开始菜单点击设置图标进入设置界面    在设置窗口中输入“服务”搜索  在结果中选择查看本地服务  在服务列表中找到windows update服务双击它  点击停止按钮先停止该服务,稍等片 ...

  5. 伯乐在线文章URL

    一段代码,可以跑出所有文章的url # encoding: utf-8 import requests from bs4 import BeautifulSoup base_url = 'http:/ ...

  6. 2018-2019-2 20165210《网络对抗技术》Exp6 信息搜集与漏洞扫描

    2018-2019-2 20165210<网络对抗技术>Exp6 信息搜集与漏洞扫描 一.实验目标: 掌握信息搜集的最基础技能与常用工具的使用方法. 二.实验内容: 各种搜索技巧的应用 G ...

  7. poj3061 Subsequence&&poj3320 Jessica's Reading Problem(尺取法)

    这两道题都是用的尺取法.尺取法是<挑战程序设计竞赛>里讲的一种常用技巧. 就是O(n)的扫一遍数组,扫完了答案也就出来了,这过程中要求问题具有这样的性质:头指针向前走(s++)以后,尾指针 ...

  8. 6.MySQL优化---高级进阶之表的设计及优化

    转自互联网整理. 优化之路高级进阶——表的设计及优化 优化①:创建规范化表,消除数据冗余 数据库范式是确保数据库结构合理,满足各种查询需要.避免数据库操作异常的数据库设计方式.满足范式要求的表,称为规 ...

  9. CCEditBox

    EditBox 创建添加 以及 一些函数参数的解析 #include "GUI/CCEditBox/CCEditBox.h" #include "GUI/CCContro ...

  10. shell变量扩展技巧

    SHELL中有一些变量扩展的技巧,做下归纳总结 1.取字符串slice规则一:${变量名:位置起点}含义:由指定的位置起点开始,截取子字符串到字符串结束例如: var="/etc/passw ...