10-31C#基础--数据库查询语句之聚合函数、分组

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

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

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

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)

时间: 2024-08-01 22:40:57

10-31C#基础--数据库查询语句之聚合函数、分组的相关文章

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

1 use StudentManageDB 2 go 3 select StudentName,StudentAddress from Students 4 where StudentAddress like '天津%' 5 6 select StudentName,StudentAddress from Students 7 where StudentName like '%小%' 8 9 select * from ScoreList 10 where CSharp between 80 a

SQL Server之 (二) SQL语句 模糊查询 空值处理 聚合函数

(二) SQL语句  模糊查询  空值处理  聚合函数 自己学习笔记,转载请注明出处,谢谢!---酸菜 SQL :结构化查询语言(Structured Query Language),关系数据库管理系统的标准语言. Sybase与Mircosoft对标准SQL做了扩展:T-SQL (Transact-SQL); 注:①SQL对大小写的敏感取决于排序规则,一般不敏感; ②SQL对单引号的转义,用两个单引号来表示一个单引号; ③SQL执行顺序: 1→2→3→4 select  * ---------

15个初学者必看的基础SQL查询语句

本文将分享15个初学者必看的基础SQL查询语句,都很基础,但是你不一定都会,所以好好看看吧. 1.创建表和数据插入SQL 我们在开始创建数据表和向表中插入演示数据之前,我想给大家解释一下实时数据表的设计理念,这样也许能帮助大家能更好的理解SQL查询. 在数据库设计中,有一条非常重要的规则就是要正确建立主键和外键的关系. 现在我们来创建几个餐厅订单管理的数据表,一共用到3张数据表,Item Master表.Order Master表和Order Detail表. 创建表: 创建Item Maste

数据库编程1 Oracle 过滤 函数 分组 外连接 自连接

[本文谢绝转载原文来自http://990487026.blog.51cto.com] <大纲> 数据库编程1 Oracle 过滤 函数 分组 外连接 自连接 本文实验基于的数据表: winsows安装好Oracle11g之后,开始实验 SQLplus 登陆 ORacle sqlplus 退出的方式 查看用户之下有什么表 查看表的所有记录,不区分大小写 设置SQLplus行宽,页宽,列宽: 清屏命令 select as 语法 1,as别名的使用 2,没有引号带有空格的别名,无法识别: 3,带有

数据库编程2 Oracle 过滤 函数 分组 外连接 自连接

[本文谢绝转载原文来自http://990487026.blog.51cto.com] 续:数据库编程1 Oracle 过滤 函数 分组 外连接 自连接 where like模糊查询,查询员工姓名是4个字母 SQL> select * from emp where ename like '____';      EMPNO ENAME                JOB                       MGR HIREDATE          SAL       COMM    

数据库查询语句

插入数据 INSERT 语法结构 INSERT [INTO] <表名>  [列名] VALUES <值列表> 参数解释 [INTO]和[列名]是可选的 <表名>是必需的 如果省略[列名],<值列表>与表中字段的顺序保持一致 多个列名和多个值列表用逗号分隔 向student表中插入一行数据 insert into student (姓名,身份证号,所在班级,成绩) values('王兰', '126125199008222446', 2,90) 更新数据 UP

15个初学者必看的基础SQL查询语句(转)

译文链接:http://www.codeceo.com/article/15-basic-sql-for-beginner.html英文原文:Basic SQL Queries for Beginners 1.创建表和数据插入SQL 我们在开始创建数据表和向表中插入演示数据之前,我想给大家解释一下实时数据表的设计理念,这样也许能帮助大家能更好的理解SQL查询. 在数据库设计中,有一条非常重要的规则就是要正确建立主键和外键的关系. 现在我们来创建几个餐厅订单管理的数据表,一共用到3张数据表,Ite

数据库查询语句研究

重点研究查询数据,其他语句只做了解!!!"""一些最重要的 SQL 命令:    select - 从数据库中提取数据    update - 更新数据    delete - 删除数据    insert - 插入数据    create database - 创建新数据库    alter database - 修改数据库    create table - 创建表    alter table - 变更数据库表    drop table - 删除表    create

数据库查询语句关键字总结

看过牛腩视频后,前17集讲后台代码的编写,尤其讲到查询语句的时候,顿时感觉原来学习过的查询语句中用到的关键字烟消云散了,啥都不记得了,通过看视频,帮着回忆了一部分,在这里总结一下,查询语句中用到的关键字的含义及使用. 一.select语句(单个表) 1.最简单的查询: select * from [where ] select column1,column2....from [where] 这里需要注意的是where子句中条件过滤使用到的关键字,比如用到逻辑运算符like 中的'%'(匹配一个或