数据库之六:聚合函数、group by、having、order by
1、聚合函数:
1.1、COUNT: 计算表中的记录数(行数)
可以计算出所有数据行:
select count(*) from table_name
可以计算出所有非空行数
select count(columns) from tanle_name
对于输入参数不同,输出的结果也不同。对于输入“*”,输出结果是对所有数据求行数;对于特定的列,输出结果是该列中非空数据的行数
1.2、SUM: 计算表中数值列中数据的合计值
求某列的和,如果列中有空值,则忽略
select sum(columns_name) from tanle_name
1.3、AVG: 计算表中数值列中数据的平均值,有空值,则忽略
select avg(columns_name) from tanle_name
1.4、MAX: 求出表中任意列中数据的最大值,有空值,则忽略
select max(columns_name) from tanle_name
1.5、MIN: 求出表中任意列中数据的最小值,有空值,则忽略
select min(columns_name) from tanle_name
MAX/MIN函数几乎适用于所有数据类型的列。 SUM/AVG函数只适用于数值类型的列
计算该列数据种类数
select count(distinct columns_name) from table_name
2、分组:group by 字句
可以根据columns列,对数据分组聚合
select column1,column2 from table_name group by column1,column2
a、不可以把聚合键之外的列名书写在 SELECT 子句之中
b、group by中不能使用别名
c、where字句中不能使用聚合函数
d、只有SELECT子句和HAVING子句(以及ORDER BY子句)中能够使用聚合函数
3、having字句:
对集合指定条件
在having字句中使用聚合函数条件,对集合选择
select column1,count(column2)
from table_name
group by column1
having count(*)>10
having字句中,同样可以使用普通条件,但是having中出现的字段也必须出现在group by中
4、order by:
可以对结果进行排序,默认为升序(asc),降序为(desc)
一般将order by 字句写在末尾:
select column1,count(column2)
from table_name
group by column1
having count(*)>10
order by columns,count(column2) desc
一般会将空值排序在末尾
在ORDER BY子句中可以使用SELECT子句中定义的别名
ORDER BY 子句中也可以使用存在于表中、但并不包含在 SELECT子句之中的列
数据库之六:聚合函数、group by、having、order by的更多相关文章
- 再看数据库——(5)Group By与Order By
在使用sql语句时,很多人都会分不清order by与group by,其实简单的说: order by -- 排序 group by --分组 1.order by是行的排序,默认为升序. 有两种方 ...
- 面试题: 数据库 已看1 group by 和order by的练习 sql语句练习简单 有用
1.Sql 约束 http://www.cnblogs.com/henw/archive/2012/08/15/2639510.html 2.修改列类型 MySQL:ALTER TABLE table ...
- MySQL数据库:聚合函数的使用
聚合函数 max() 最大值 min() 最小值 avg() 平均值 sum() 求和 count() 符合条件数据的数目 聚合函数不能嵌套使用 # 在统计时字段内没有满足条件的数值只有count返回 ...
- mysql 从聚合函数group by到sql_mode
说到group by, 想必大家都不陌生, 就是对查询的数据进行分组,我们可以通过该操作实现一些特殊需求,比如去重. 最近在项目中使用HQL:" from TSjrz where CBh = ...
- linux上,mysql使用聚合函数group by 时报错:SELECT list is not in GROUP BY clause and contains nonaggre的问题
之前在windows上测试是可以正常使用的,但是上传到Linux上后,就报错: Expression # of SELECT list is not in GROUP BY clause and co ...
- Oracle数据库之六 单行函数
六.单行函数 6.1.认识单行函数 函数就是和 Java 语言之中的方法的功能是一样的,都是为了完成某些特定操作的功能支持,而在 Oracle 数据库里面也包含了大量的单行函数,这些函数掌握了以后 ...
- Oracle的聚合函数group by结合CUBE和ROLLUP的使用
转自:https://docs.oracle.com/cd/E11882_01/server.112/e25554/aggreg.htm#DWHSG8618 CUBE Syntax CUBE appe ...
- Oracle-09:聚合函数
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 数据库脚本放一下,供测试使用 create table DEPT ( deptno ) not null, d ...
- 第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all; Select 列 into 新表;字符串函数;日期函数
第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all; ...
随机推荐
- C#设计模式学习笔记:(6)适配器模式
本笔记摘抄自:https://www.cnblogs.com/PatrickLiu/p/7640873.html,记录一下学习过程以备后续查用. 一.引言 从今天开始我们开始讲结构型设计模式,结构型设 ...
- web自动化之三大等待
这个假期有些长,长到忘记了要学习,要找工作,好吧,在我每天无休止的追着偶像剧时,我确实没有负罪感,在听了小祥大佬的分享后,我连睡午觉都被吓醒.大佬跟我同一个班,在大厂工作,每天还抽时间学习,作业也没落 ...
- html网页基本概念
什么是网页?html文档经过浏览器内核渲染后展示出来的页面(五大主流浏览器及四大内核) html文档文件名后缀是.html,之前存在的.htm是为支持DOM系统(目前织梦还是用.htm文件名结尾文件) ...
- JAVA 线程池原理
如果并发的请求数量非常多,但每个线程执行的时间很短,这样就会频繁的创建和销毁线程,如此一来会大大降低系统的效率.这就是线程池的目的了.线程池为线程生命周期的开销和资源不足问题提供了解决方案.通过对多个 ...
- day17 二分查找
# 什么叫算法 # 计算的方法 # 99 * 13 = 1287 = 13 * 100 - 13 # 查找 : 找数据 # 排序 : # 最短路径 # 我们学习的算法,都是过去时 # 了解基础的算法, ...
- warning: LF will be replaced by CRLF in
warning: LF will be replaced by CRLF in analysis/Result.csv. The file will have its original line en ...
- 应用场景不同,是无代码和低代码的最大区别 ZT
随着媒体对低代码.无代码等先进技术的持续关注,我们发现大多数人都听说过低代码开发和无代码开发这两个概念,但是对两者之间的区别其实并不清楚.事实上,低代码开发和无代码开发之间存在着很多非常显著的差异,如 ...
- Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
这篇文章主要介绍了Pythont特殊语法filter,map,reduce,apply使用方法,需要的朋友可以参考下(1)lambda lambda是Python中一个很有用的语法,它允许你快速定义单 ...
- js内置对象的常用属性和方法(Array | String | Date | Math)
js内置对象:Array String Math Date <!DOCTYPE html> <html lang="en"> <head> ...
- poj 2528 线段树区间修改+离散化
Mayor's posters POJ 2528 传送门 线段树区间修改加离散化 #include <cstdio> #include <iostream> #include ...