首先我们创建一个名为employee的表,添加相应的数据:

INSERT INTO `employee` (`Id`, `Salary`)
VALUES(3, 300),(2, 200),(1, 100);

声明一个Function,名为getNthHighestSalary() 调用时通过输入的参数来执行相应结果的SQL,我这里返回的是一个INT类型的结果字段

DELIMITER //
CREATE FUNCTION getNthHighestSalary(N INT)
RETURNS INT
BEGINRETURN(SELECT MAX(Salary) as Salary FROM Employee E1 WHERE N-1 = (SELECT COUNT(DISTINCT(E2.Salary)) FROM Employee E2 WHERE E2.Salary > E1.Salary));
END//
DELIMITER ;

在相应的ide可以查看到Function的名字

接下来我们就可以调用了,就可以看到返回的结果

select getNthHighestSalary(2);

函数中DELIMITER //  和 END结尾的 // 是告诉mysql解析器让他执行一整段的sql 语句。(一般sql解析器会遇到分行就执行相应的语句)

Mysql创建Create Function相关推荐

  1. MySQL函数(CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型)

    MySQL函数 /* 含义:一组预先编译好的SQL语句的集合,理解成批处理语句 1.提高代码的重用性 2.简化操作 3.减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率 区别: 存储过程: ...

  2. MySQL 创建函数(Function)

    目标 如何在MySQL数据库中创建函数(Function) 语法 CREATE FUNCTION func_name ( [func_parameter] ) //括号是必须的,参数是可选的 RETU ...

  3. MYSQL创建一个function用来计算经纬度距离

    2019独角兽企业重金招聘Python工程师标准>>> 店铺表有一个经度字段,一个纬度字段,用来存储所在位置.先需要根据当前位置的经度与纬度来获取附近10公里内的店铺.故需要将计算距 ...

  4. MySQL自定义函数(CREATE FUNCTION)

    在使用 MySQL 的过程中,MySQL 自带的函数可能完成不了我们的业务需求,这时候就需要自定义函数. 自定义函数是一种与存储过程十分相似的过程式数据库对象.它与存储过程一样,都是由 SQL 语句和 ...

  5. rds支持mysql自带函数吗_MySQL自定义函数(CREATE FUNCTION)

    在使用MySQL的过程中,MySQL 自带的函数可能完成不了我们的业务需求,这时候就需要自定义函数.自定义函数是一种与存储过程十分相似的过程式数据库对象.它与存储过程一样,都是由 SQL 语句和过程式 ...

  6. mysql自定义函数 PHP_MySQL自定义函数(CREATE FUNCTION)

    在使用 MySQL 的过程中,MySQL 自带的函数可能完成不了我们的业务需求,这时候就需要自定义函数. 自定义函数是一种与存储过程十分相似的过程式数据库对象.它与存储过程一样,都是由 SQL 语句和 ...

  7. MySql创建自定义函数(Function)

    1.创建自定义函数 DELIMITER $$ DROP FUNCTION IF EXISTS genPerson$$ CREATE FUNCTION genPerson(name varchar(20 ...

  8. MySQL创建索引(CREATE INDEX)

    索引的建立对于 MySQL 数据库的高效运行是很重要的,索引可以大大提升 MySQL 的检索速度. 基本语法 MySQL 提供了三种创建索引的方法: 1) 使用 CREATE INDEX 语句 可以使 ...

  9. MySQL创建数据表(CREATE TABLE语句)

    在创建数据库之后,接下来就要在数据库中创建数据表.所谓创建数据表,指的是在已经创建的数据库中建立新表. 创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性.引用完整性和域 ...

最新文章

  1. 关于学习Python的一点学习总结(39->导入模块)
  2. Graphics View 坐标系统
  3. 整理了一下目前的专栏文章,基本可以完整解决普通问题了 - 知乎专栏
  4. fixed 定位 苹果手机输入框触发时内容全部隐藏
  5. 操作系统难点解析之进程和线程
  6. arraylist可以存储不同类型吗_结构胶的种类多吗?不同的类型有哪些产品特性?...
  7. Android控件默认风格解析之SeekBar
  8. RabbitMQ+haproxy+keeplived 高可用负载均衡+镜像集群模式_集成高性能高可用组件 Keepalived_03
  9. (三.1)基于MicroBlaze的PowerlinkC代码分析
  10. WinForm PictureBox删除图片重新加载,显示System.IO.IOException:文件“**.png”正由另一进程使用,因此该进程无法访问此文件
  11. 空间自相关—莫兰指数
  12. 如何在没有RTDS硬件下使用RSCAD进行仿真研究
  13. Google Play Store上线流程
  14. Ambarella SDK build 步骤解析
  15. 【足迹C++primer】43、拷贝控制和资源管理
  16. div 自定义拉宽_纯Css实现Div高度根据自适应宽度(百分比)调整
  17. 如何查找某一个数据?
  18. OneTab扩展:解决 Chrome 内存占用过多问题
  19. php做excel导入word,php如何将excel表格插入到word文档
  20. 支付宝指纹服务器暂时用不了,解决支付宝指纹验证失效的问题

热门文章

  1. Linux系统DB2数据库安装手册
  2. 4.19@深圳 | 品牌出海正当时,如何更有方向感?
  3. SVN 安装使用--中文插件-下载项目
  4. MATLAB符号运算(七)
  5. simHash 简介以及 java 实现
  6. 招标流程及注意事项_资讯详情
  7. Typora收费了, 还有哪些好用的markdown工具
  8. 一句话木马的工作原理
  9. Hexo博客安装卡在“INFO install dependencies”解决方法
  10. 【Suatin】不学编译原理就制作语言2——Concrete Syntax Tree