有什么简单的方法可以在存储过程的输入值集中找到最小值/最大值吗?
例如:
delimiter $$
create procedure extremevalues ( in a1 int, in a2 int ,
in a3 int, in a4 int,
in a5 int, min_a int, max_a int)
begin
set max_a:=.... ;
set min_a:=.... ;
select max_a, min_a;
end$$
我知道在处理表时可以在 select 语句中使用聚合函数 max() 和 min()。
我找不到任何关于类似问题的引用。
谢谢。
最佳答案
set @a:=1, @b:=2, @c:=3;
set @max:=greatest(@a, @b, @c);
set @min:=least(@a, @b, @c);
select @max, @min;
为了适应SP,
delimiter $$ create procedure extremevalues ( in a1 int, in a2 int , in a3 int, in a4 int, in a5 int, min_a int, max_a int) begin set max_a:=greatest(a1, a2, a2, a3, a4, a5); set min_a:=least(a1, a2, a2, a3, a4, a5); select max_a, min_a; end$$
关于mysql - 在存储过程中查找输入值的最小值/最大值,MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5021738/