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

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

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

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. VK Cup 2017 - Qualification 1 C 贪心

    是一道很有趣的题目 给出地图和起始点 与要求的步数k 要求走k步 正好回到起始点 输出字典序最小的移动路径 DLRU这样 可以想到DU LR都是相同数量的 于是k必须是一个偶数 然后走了弯路QAQ 从 ...

  2. numpy 往array里添加一个元素

    首先这里p_arr为一个numpy的array,p_为一个元素 p_arr = np.concatenate((p_arr,[p_])) # 先将p_变成list形式进行拼接,注意输入为一个tuple ...

  3. iOS审核拒绝苹果官方原因详解

    1.1不当内容应用程序不应该包括攻击性,敏感,令人不悦,侮辱或者品味低下的内容.例如: 1.1.1 诽谤或者人格侮辱的内容,包括引用或者评论宗教.种族.性取向.性别或者其他目标群体的内容,特别是该应用 ...

  4. js 实现自动调出键盘

    在app中,在页面加载完成之后,给输入框添加一个focus,不能自动调出软键盘,可以用以下方式实现: //触发键盘 $("#content").on("touchstar ...

  5. Git在mac中和远程仓库建立连接

    1.下载git http://git-scm.com/download/ 2. 安装git 按照文字提示即可 3. 验证是否成功,输入命令行.输出git版本表示git安装成功. git --versi ...

  6. DataGrid的组成论述(WPF)

    DataGrid:它标示是一个整体概念,是个大容器,包含Row的感念 Column:是表格的组成成分(表格是由列组成的),它包括Header和Cell的概念

  7. levelDB, TokuDB, BDB等kv存储引擎性能对比——wiredtree, wiredLSM,LMDB读写很强啊

    在:http://www.lmdb.tech/bench/inmem/ 2. Small Data Set Using the laptop we generate a database with 2 ...

  8. 常用stl(c++)

    众所周知,c++的模板库是相当强大的. 下面我来列举一些常用的,(神奇的) //部分材料选自<算法竞赛入门经典(第2版)>(刘汝佳) 一,algorithm (算法) min(a,b)-- ...

  9. 剑指offer--19.重建二叉树

    先序:根>左>右 中序:左>根>右 后序:左>右>根 e.g. {1,2,4,7,3,5,6,8} {4,7,2,1,5,3,8,6} 先序第一个元素是根节点,在中 ...

  10. mysql笔记1—安装、配置和基础的数据表操作

    本篇笔记主要分为两部分: 1,安装完毕之后的简单配置 2,数据的类型.简单的数据表操作命令 一.mysql安装完毕之后 windows和linux环境,除mysql的安装.配置有所不同,其他操作一样, ...