聚合函数中包括如下图所示函数:
聚合函数只能用于数据表,不能用于单个数值的计算,如下图所示:
下面建立一个test数据表用来测试数据,如下图所示:
AVG():平均值COUNT():计数 MAX():最大值 MIN():最小值 SUM():求和如下图所示:
函数可以返回任意类型的值,同样可以接收这些类型的参数。函数参数和返回值之前没有必然的联系。[注意]一个函数最多可以有1024个参数。用户自定义函数(user-defined function,UDF)是一种对MySQL扩展的途径,其用法与内置函数相同。自定义函数的两个必要条件:1、参数;2、返回值。
创建自定义函数CREATE FUNCTION function_name RETURNS {STRING|INTEGER|REAL|DECIMAL} routine_body关于自定义函数的函数体:1.函数体可以由合法的SQL语句构成;2.函数体可以是简单的SELECT或INSERT语句;3.函数体如果为复合结构则使用BEGIN...END语句;4.复合结构可以包含声明、循环、控制结构。
创建不带参数的自定义函数CREATE FUNCTION f1() RETURNS VARCHAR(30) RETURN DATE_FORMAT(NOW(),'%Y年%m月%d日 %H点:%i分:%s秒');如下图所示:
创建带参数的自定义函数CREATE FUNCTION f2(num1 SMALLINT UNSIGNED,num2 SMALLINT UNSIGNED) RETURNS FLOAT(10,2) UNSIGNED RETURN (num1+num2)/2;如下图所示:[注意]如果自定义函数存在符合结构的多个语句,函数体要包含在BEGIN...END内,同时,需要通过DELIMITER将默认的结束符 ; 修改成其他符号,如:// $$ ,以免函数由于语句结尾的 ; 号导致中断。
删除函数DROP FUNCTION [IF EXISTS] function_name