MySQL基础篇函数

一、聚合函数(常用于group by从句的select查询中)

avg(col):返回指定列的平均值;

count(col):返回指定列中非null值的个数。

min(col):返回指定列的最小值。

max(col):返回指定列的最大值。

sum(col):返回指定列的所有值之和。

group by():对数据进行分组,对执行完 group by 之后的组进行聚合函数的运算,计算每一组的值。
最后用having去掉不符合条件的组,having子句中的每一个元素必须出现在select列表中(只针对于mysql)。

group_concat(col): 返回由属于一组的列值连接组合而成的结果,实现行的合并。

函数首先根据group by指定的列进行分组,并且用分隔符分隔,将同一个分组中的值连接起来,返回一个字符串结果。

格式:

group_concat([distinct] 字段名 [order by 排序字段 asc/desc] [separator '分隔符'])

说明:

  (1)使用distinct可以排除重复值;

  (2)如果需要对结果中的值进行排序,可以使用order by子句;

  (3)separator是一个字符串值,默认为逗号。

1 -- 将所有员工的名字合并成一行 
2 select group_concat(emp_name) from emp;
3 
4 -- 指定分隔符合并 
5 select department,group_concat(emp_name separator ';' ) from emp group by department; 
6 
7 -- 指定排序方式和分隔符 
8 select department,group_concat(emp_name order by salary desc separator ';' ) from emp group by department;

group_concat函数用法详情

二、数学函数

abs(x): 返回x的绝对值
bin(x): 返回x的二进制(oct返回八进制,hex返回十六进制)
ceiling(x): 返回大于x的最小整数值
exp(x): 返回值e(自然对数的底)的x次方
floor(x): 返回小于x的最大整数值
greatest(x1,x2,...,xn):返回集合中最大的值
least(x1,x2,...,xn): 返回集合中最小的值
ln(x): 返回x的自然对数
log(x,y):返回x的以y为底的对数
mod(x,y): 返回x/y的模(余数)
pi():返回pi的值(圆周率)
rand():返回0到1内的随机值,可以通过提供一个参数(种子):使rand():随机数生成器生成一个指定的值。
round(x,y):返回参数x的四舍五入的有y位小数的值
sign(x): 返回代表数字x的符号的值
sqrt(x): 返回一个数的平方根
truncate(x,y): 返回数字x截短为y位小数的结果

三、字符串函数

四、日期函数

五、控制流函数

六、窗口函数

原文地址:https://www.cnblogs.com/elian91/p/15652572.html