Mysql快速复习(三)--计算字段、处理函数、汇总数据
2016-11-20 16:27
363 查看
一:创建计算字段
字段:基本上与列(column)的意思相同,经常互换使用,不过数据库列一般成为列,而术语字段通常用在计算字段的连接上。只有数据库select 语句知道哪些select语句中哪些列是实际的表列,哪些列是计算字段。从客户机应用程序的角度看,
计算字段的数据是以与其他列的数据相同的方式返回的。
1.拼接:将值联结到一起构成单个值,用concat()函数来拼接两个列,
2.使用RTrim删除
3.select拼接地址字段工作做得很好,但是它没有名字,只是一个值。尽在SQL查询工具中查看一下结果。一个未命名的列不能用于客户机应用中,因为客户机没有办法引用它
为了解决这个问题,SQL支持列别名。别名是一个字段或值得替换名。别名用AS关键字赋予。
4.执行算术计算
5.select语句可以省略from子句简单的反问和处理表达式。
如select 3*2 将返回6,select Trim('abc'); 将返回abc
而select Now()利用Now()函数返回当前日期和时间。
二:使用数据处理函数
大多数SQL支持下列函数:1.用于处理文本串 2.用于在数值上进行算数操作 3.用于处理日期和时间值并从这些值中提取特定成分 4.返回DBMS正使用的特殊信息1.文本处理函数
upper转换为大写。
常用的文本处理函数有:
表中的SOUNDEX是一个将任何文本串转化为描述其语音表示的字母数字模式的算法。使得字符串是对发音比较而不是字母比较。
2.常用日期和时间处理函数
有一种情况,检索时间订单记录使用 select id from orders where order_date = '2005-09-01';
这样有时候是会检索失败的,因为它会与整个列值进行比较,如果order_date在mysql中存储的形式是'2005-09-01 11:02:03',那么就会有一部分不匹配,则where匹配失败。
所以要使用日期比较函数。
如selext id from orders where date(order_date) = '2005-09-01',那么就会匹配成功。
3.有一种日期比较,比如检索出9月下的所有订单,其中之一:
(1)SELECT id From Date(order_date) BETWEEN '2005-09-01' AND '2005-09-30';
还有另外一种方法:
(2) SELECT id From orders WHERE Year(order_date) = 2005 AND Month(order_date) = 9;
4.数值处理函数
三.汇总数据
什么是聚集函数?我们常常需要汇总数据而不用把它们实际检索出来,为此MySQL提供了专门的函数。使用这些函数,MySQL可用于检索数据,以便分析和报表生成。
如:(1)确定表中行数
(2)获得表中行组的和
(3)找出表列的最大值,最小值,和平均值。
上述例子都需要对表中数据汇总,因此返回实际表中数据是对时间和处理资源的一种浪费(更不用说带宽了)。
聚集函数:运行在行组上,计算和返回单个值的函数
1.AVG函数
SELECT AVG(id) AS avd_id FROM elec; 将返回id的平均值
as之后的avg_id只是一个别名。
AVG()只能用来确定特定数值列的平均值,而且列名必须作为函数参数给出。为了获得多个列的平均值,必须使用多个AVG函数。
2.COUNT函数
COUNT()函数进行计数。可利用COUNT()确定表中行的数目或者符合特定条件行的数目。
COUNT()函数有两种使用方式:
(1)使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值NULL还是非空值
(2)使用COUNT(column)对特定列中具有值得行进行计数,忽略NULL值。
下列例子返回customers中客户的总数:
SELECT COUNT(*) AS num_cust FROM customers;
NULL值如果指定列名,则指定列的值为空的行被COUNT()函数忽略,但如果COUNT()函数中用的是星号*,则不忽略。
3.MAX()函数
MAX()返回指定列中的最大值。MAX()要求指定列名。
SELECT MAX(id) AS max_id FROM elec;
虽然MAX()一般用来找出最大的数值或者日期值,但MySQL允许将它用来返回任意列中的最大值,包括返回文本列中的最大值。忽略值为NULL的行。
4.MIN()函数
返回最小值
5.SUM()函数
SELECT SUM(item_price*quantity) AS total_price FROM orderitems WHERE order_num = 20005;
6.聚集不同值(仅支持MySQL5及后期版本)
以下5个聚集函数都可如下使用:
(1)对所有的行执行计算,指定ALL参数或不给参数(因为ALL是默认的行为)
(2) 只包含不同的值,指定DISTINCT参数
7.组合聚集函数
SELECT COUNT(*) AS num_items MIN(prod_price) AS price_min FROM products;
相关文章推荐
- MySQL基础(3)——计算字段、处理函数、聚集函数和数据分组
- SQL必知必会(二) 计算字段、函数、汇总数据、分组数据、子查询
- 【MySQL】SELECT语句 计算字段 数据处理函数 汇总函数 分组数据 子查询
- python 科学计算学习一:numpy快速处理数据(3)
- 数据库笔记8:SELECT语句 计算字段 数据处理函数 汇总函数 分组数据 子查询
- python 科学计算学习一:numpy快速处理数据(3)
- MySQL必知必会笔记(三)SELECT语句 计算字段 数据处理函数 汇总函数 分组数据 子查询
- 研究PHP处理Mysql字段属性为UNSIGNED ZEROFILL的数据
- MySQL必知必会(使用函数处理数据)
- MySQL中快速复制数据表方法汇总
- 如何优化Mysql千万级快速分页,limit优化快速分页,MySQL处理千万级数据查询的优化方案!(zz)
- MySql 计算字段长度函数
- 在MySQL中快速复制数据表方法汇总
- 如何优化Mysql千万级快速分页,limit优化快速分页,MySQL处理千万级数据查询的优化方案!
- MySQL几个计算时间的函数汇总
- Mysql分组合并函数并进行数据列处理
- MySQL必知必会笔记(三)SELECT语句 计算字段 数据处理函数 汇总函数 分组数据 子查询
- 创建计算字段 汇总数据 分组数据
- 在MySQL中快速复制数据表方法汇总
- JSON(04)PHP的JSON处理函数及将MySQL结果集快速转为JSON的方法