MySQL基础学习总结(3)

  从上图中我们可以看到新的计算列的名字只是一个值,我们可以使用别名来使得它更有意义。同时也可以对检索出的数据进行算术运算,加减乘除都是支持的。

MySQL基础学习总结

 

MySQL基础学习总结

10、使用数据处理函数

MySQL基础学习总结

常用的文本处理函数

函数   说明  
left()   返回串左边的字  
length()   返回串的长度  
locate()   找出串的一个子串  
lower()   将串转换为小写  
ltrim()   去掉串左边的空格  
right()   返回串右边的字符  
rtrim()   返回串右边的字符  
soundex()   返回串的soundex值  
substring()   返回子串的字符  
upper()   将串转换为大写  
11、汇总数据

  经常需要汇总数据而不是把它们检索出来,为此mysql提供了专门的函数,以便分析和报表生成。常用的例子有:确定表中行数、获取表中行组的和、找出表列的最大值(最小值或平均值)。聚集函数运行在行组上,计算和放回单个值得函数,mysql提供了5个聚集函数,这些函数一般比自己的客户端应用程序中计算要快得多。

AVG()   返回某列的平均值

COUNT() 返回某列的行数

MAX()   返回某列的最大值

MIN()   返回某列的最小值

SUM()   返回某列之和

MySQL基础学习总结

  使用关键字distinct使得只选择不同num的记录来参与计算。

MySQL基础学习总结

12、分组数据

  sql聚集函数可以用来汇总数据,这使得我们能够对行计数、计算平均值、获取最大最小值不用检索所有数据。而创建分组允许把数据分为多个逻辑组,以便对每个组进行聚集计算。其涉及到group by子句和having子句。

MySQL基础学习总结

 

MySQL基础学习总结

在使用group by子句前,需要知道一些重要的规定:

group by子句可以包含任意数目的列,这使得能对分组进行嵌套,为数据分组提供更细致的控制。

如果在group by子句中嵌套了分组,数据将在最后规定的分组上汇总。换句话说,在建立分组时,指定的所有列都一起计算。

group by子句中列出的每个列都必须是检索列或有效的表达式,但不能是聚集函数。 

如果分组列中具有null值,则将null作为一个分组返回,如果有多个null值,它们将分为一组。

group by子句必须出现在where子句后,order by子句前。 

  除了能用group by分组数据外,mysql还允许过滤分组,规定包括哪些分组,排除哪些分组。过滤分组需使用having子句,因为where过滤的是行而不是分组。注意:where是在数据分组前进行过滤,having是在数据分组后进行过滤。

MySQL基础学习总结

  group by和order by经常完成相同的工作,但是二者是非常不同的:

order by   group by  
排序产生的输出   分组行,但输出可能不是分组的顺序  
任意列都可以使用(甚至非选择的列)   只可能使用选择列或表达式列,而且必须使用每个选择列表达式  
不一定需要   如果与聚集函数一起使用列(或表达式),则必须使用  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/2cbf56adb63dc3a9efae64edf111e427.html