给定一个像这样的简单表格:
var1 | var2
0 | 3
2 | 4
6 | 5
我需要返回不存在记录(在本例中为 4)或 var2 等于 5(在本例中为 6)的最小值(var1,作为 2 的倍数)。我需要将其作为单个查询进行,但不幸的是我是 MySQL 函数的新手。
我试图创建一个这样的函数:
DELIMITER //
CREATE FUNCTION Prova ( starting_value INT ) returns int;
BEGIN
DECLARE testNum INT DEFAULT 0;
test_loop : LOOP
IF (SELECT db.tabella WHERE var1 = testNum AND var2 <= 5) OR WHERE NOT EXISTS (
SELECT * FROM db.tabella WHERE var1 = 'testNum'
) LIMIT 1; THEN
RETURN testNum;
END IF;
SET testNum = testNum + 2;
SELECT testNum;
END LOOP;
END;
但它似乎不起作用。谢谢你。