Найти мин / макс входных значений в хранимых процедурах, MySQL - PullRequest
1 голос
/ 16 февраля 2011

Есть ли простой способ найти минимальное / максимальное значение в наборе входных значений в хранимых процедурах?

Например:

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$$

Я знаю, что можно использовать агрегатные функции max () и min () в операторе выбора при работе с таблицами.

Не удалось найти ссылки на подобную проблему.

Спасибо.

1 Ответ

3 голосов
/ 16 февраля 2011
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$$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...