Я пытаюсь создать функцию в MariaDB, но я застреваю и не вижу решения.
Я попытаюсь создать функцию для моей LAG.
следующее, что мне нравитсясделать как функцию:
Select
lag(
round(round(`bartbrf269_IOT`.`IOT_DATA`.`DATA_temp1` * 2, 0) / 2, 1)
, 1
) over (
partition by `bartbrf269_IOT`.`IOT_DATA`.`DATA_sensorid`
order by
`bartbrf269_IOT`.`IOT_DATA`.`DATA_logid`
)
я хочу сделать DATA_temp1
и 1 в качестве переменных
я был запущен из этих
DELIMITER $$
CREATE FUNCTION ftcnLag(
value DECIMAL(10,4)
)
RETURNS DECIMAL(10,4)
DETERMINISTIC
BEGIN
DECLARE value = varchar(50);
DECLARE pos = int;
END
select
lag(
round(round(`bartbrf269_IOT`.`IOT_DATA`.`DATA_temp1` * 2, 0) / 2, 1)
, 1
) over (
partition by `bartbrf269_IOT`.`IOT_DATA`.`DATA_sensorid`
order by
`bartbrf269_IOT`.`IOT_DATA`.`DATA_logid`
) AS `prevtemp1`
from
`bartbrf269_IOT`.`IOT_DATA`
order by
`bartbrf269_IOT`.`IOT_DATA`.`DATA_logid` desc;
END$$
DELIMITER ;
я не могузаставить это работать.Спасибо за помощь и мои извинения за плохой английский