MYSQL 学习笔记记录整理之一聚集函数

函数 说明
AVG() 返回某列的平均值
COUNT() 返回某列的行数
MAX() 返回某列的最大值
MIN() 返回某列的最小值
SUM() 返回某列值之和

1、AVG()函数,可以返回所有列的平均值,也可以返回特定列或者行的平均值。

例子:

SELECT AVG(prod_price) AS avg_price 别名 FROM products;

说明:返回表中所有产品的平均价格。

SELECT AVG(prod_price) AS avg_price 别名 FROM products WHER ven_id=1003;

说明:返回特定供应商所提供产品的平均价格。

注意: 只能用于单个列 avg函数只能用来确定特定数值列的平均值,而且列名必须作为函数给出。为了获取多个列的平均值,必须使用多个avg函数

2、COUNT()函数

COUNT()函数进行计数,可以用来确定表中行的数目或者符合特定条件的行的数目。

有两种使用方式:

a、使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值还是非空值

b、使用COUNT(colum)对特定列中具有值的行进行计数,忽略空值。

例子:

SELECT COUNT(*) AS num_cust from customers;

说明:返回customers表中客户的总数

SELECT COUNT(cust_email) AS num_cust from customers;

说明:只对具有电子邮件地址的客户计数、

3、MAX()函数,最大值,要求指定列名。

例子:

SELECT MAX(prod_price) AS max_price FROM products;

4、MIN()函数

返回指定列的最小值,要求指定列名。

例子:

SELECT MIN(prod_price) AS min_price FROM products;

5、SUM()函数

返回指定列值的和(总数)

例子:

SELECT SUM(quantity) AS items_ordered FROM orderitems WHERE order_num=20005;

说明:检索所订购物品的总数(所有quantity之和)

SUM()函数也可以用来合计计算值。例子:

SELECT SUM(item_price*quantity) AS total_price FROM orderitems WHERE order_num=20005;

6、DISTINCT()聚集不同值

用于只包含不同的值。

例子:

SELECT AVG(DISTINCT prod_price) AS avg_price FROM products WHERE ven_id=1003;

说明:此平均值只考虑各个不同的价格

注意:如果指定列名,则DISTINCT 只能用于COUNT()。DISTINCT不能用于COUNT(*),因此不允许使用COUNT(DISTINCT),否则会产生错误。类似的,DISTINCT必须指定列名,不能用于计算或者表达式。

7、组合聚集函数。

SELECT语句可以根据需要包含多个聚集函数,例子:

SELECT COUNT(*) AS num_items,

MIN(prod_price) AS price_min,

MAX(prod_price) AS price_max,

AVG(prod_price) AS price_avg,

FROM products;

时间: 2024-08-11 11:58:32

MYSQL 学习笔记记录整理之一聚集函数的相关文章

MYSQL 学习笔记记录整理之二:分组数据

1.创建分组 GROUP BY SELECT ven_id,COUNT(*) AS num_prods FROM products GROUP BY ven_id: 注意: GROUP BY可以包含任意数目的列 GROUP BY列出的每个列都必须是检索列或者有效的表达式(但不能是聚集函数).如果在SELECT语句中使用表达式,则必须在GROUP BY中指定相同的表达式,不能使用别名. 除聚集计算语句外,SELECT语句中的每个列都必须在GROUP BY子句中给出. GROUP BY必须出现在WH

MYSQL 学习笔记记录整理之三:子查询

1.利用子查询进行过滤 eg:假如需要列出订购物品TNT2的所有客户,具体步骤: 检索包含物品TNT2的所有订单编号 检索具有前一步骤列出的订单编号的所有客户的ID 检索前一步骤返回的所有客户ID的客户信息 上述每个步骤都可以单独作为一个查询来执行,可以把一条SELECT语句返回的结果用于另一条SELECT语句的WHERE语句.也可以使用子查询把3个查询组合成一条语句. select order_num FROM orderitems WHERE prod_id='TNT2'; 输出结果为: o

MySQL学习笔记_7_MySQL常用内置函数

 MySQL常用内置函数 说明: 1)可以用在SELECT/UPDATE/DELETE中,及where,orderby,having中 2)在函数里将字段名作为参数,变量的值就是字段所对应的每一行的值. 3)在程序设计语言如C++中提供的函数,MySQL大部分也提供了,关于MySQL函数的完整信息,请参阅<MySQL参考手册> 一.字符串函数[比较常用,需要掌握] 1. concat(s1,s2,...,sn) #把传入的参数连接成一个字符串 selectconcat('abc','def

Mysql学习笔记(四)字符串函数

PS:终于看完了字符串函数,心都快碎了...涉及的函数真是太多了...感觉这里的字符串函数和JAVA里的基本都差不多了...基本上算是掌握了,但是想全记住那是不太可能的... 学习内容: 字符串函数的掌握和应用.. ASCii(str) 返回字符串的最左边的ascii码值..如果str为NULL,那么返回NULL...如果字符串为0,那么返回也为0... mysql>select ascii('2'); mysql>select ascii('dx'); ORD(str)函数 如果字符串最左边

mysql学习笔记之十一(常用函数)

能运行在多个系统上的代码具有可移植性,在数据库软件中,多数sql语句时可移植的,可移植性比较强:而函数的移植性不强,主要是由于各种数据库软件都支持自己所特有的函数.因此许多sql用户不认同使用数据库软件所特有的的函数 字符串函数 concat(str1,...,strn) : 连接n个字符串为一个完整的字符串 insert(str,x,y,instr) : 将字符串str从第x位置开始,y个字符长的子串替换为instr lower(str) : 所有字符变为小写 upper(str) :所有字符

mysql学习笔记(五)--- 字符串函数、日期时间函数

一.常见字符串函数: 1.CHAR_LENGTH  获取长度(字符为单位) 2.FORMAT  格式化 3.INSERT  替换的方式插入 4.INSTR  获取位置 5.LEFT/RIGHT  取左.取右 6.LENGTH   获取长度(字节为单位) 7.LTRIM/RTRIM/TRIM 去空格(左/右/自定义) 8.STRCMP  字符串比较 9.CONCAT  字符串拼接 10.SUBSTRING  字符串截取 1.CHAR_LENGTH:获取长度(字符为单位) CHAR_LENGTH()

MySQL学习笔记-操作数据表中的记录

MySQL学习笔记-操作数据表中的记录 1.插入记录 INSERT INSERT [INTO] tbl_name [(col_name,...)] {VAULES|VALUE} ({expr|DEFAULT},...),(...),... 例,插入单条记录: mysql> USE testDatabase changed mysql> CREATE TABLE users(    -> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,   

MySQL学习笔记-自定义函数

MySQL学习笔记-自定义函数 1.自定义函数简介 自定义函数:用户自定义函数(user-defined function,UDF)是一种对MySQL扩展的途径,其用法与内置函数相同 自定义函数的两个必要条件:(1)参数  (2)返回值 自定义函数: 创建自定义函数 CREATE FUNCTION function_name RETURNS {STRING|INTEGER|REAL|DECIMAL} routine_body 关于函数体: 1.函数体可以由合法的SQL语句构成: 2.函数体可以是

Mysql学习笔记(五)数学与日期时间函数

原文:Mysql学习笔记(五)数学与日期时间函数 学习内容: 1.数学函数 2.日期时间函数 这些函数都是很常用的函数...在这里进行简单的介绍... 数学函数: mysql> SELECT ABS(-32); //取绝对值函数 -> 32 这个函数可安全地使用于 BIGINT 值. mysql> SELECT SIGN(-32);//判断一个数是正数,负数,还是0..根据实际情况返回指定的数值.. -> -1 mysql> SELECT MOD(234, 10);//取模函