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

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

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

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. myEclipse 导入maven项目时报错

    1.先右击项目,build Path 查看是否是某个JAR出了错.去掉无用的JAR 以及修改对应的JDK版本 2.检查src源文件,查看是否是源文件出了错.发现,还真的是 导入的包上面,报错:The ...

  2. Linux嵌入式 -- 内核 - 内核链表

    1. linux内核链表 链表数据结构的定义: struct list_head  {  struct list_head *next, *prev;  };  list_head结构包含两个指向li ...

  3. HDU1565 方格取数(1)

    Problem Description 给你一个n*n的格子的棋盘,每个格子里面有一个非负数.从中取出若干个数,使得任意的两个数所在的格子没有公共边,就是说所取的数所在的2个格子不能相邻,并且取出的数 ...

  4. CSS之动态相册

    注释还是比较详细的,所以我就不一一再说明了.--->运行效果图<--- (点击之前温馨提示一下:此picture是我自己的照片,本来不想拿出来的,后来觉得反正不会有很多人看到而且也没人认识 ...

  5. php特级课---3、常用的网站加速技术有哪些

    php特级课---3.常用的网站加速技术有哪些 一.总结 一句话总结:网站加速技术是一组技术的组合,来提升网站的速度 1.Squid代理缓存技术 2.页面静态化缓存 3.Memcache 4.Sphi ...

  6. unity监测按下键的键值并输出+unity键值

    using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using U ...

  7. Linux命令之sort用法

    linux之sort用法   sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式: sort [-bcfMnrtk][源文件][-o 输出文件] 补充说明:sort可针对文本文件的内 ...

  8. 简单使用location.hash的方法 ,怎么做,有什么用? 简单的js路由页面方法。

    hash 属性是一个可读可写的字符串,该字符串是URL的锚部分(从#号开始的部分).语法location.hash刚开始我真不知道hash有什么用,直到我在项目中遇上一个最大的问题.而且很恶心的体验 ...

  9. mysql 初识数据库

    一 数据库管理软件的由来 基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问,一个文件仅仅只能存在于某一台机器上. 如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件 ...

  10. php中实现将姓名拆分为姓氏和名字

    之前有分享了用javascript在客户端进行姓名拆分的方法,后应项目需要,又用PHP实现了,贴出来 跟大家分享交流: /** * 把全名拆分为姓氏和名字 * @param string $fulln ...