创建MYSQL函数以计算时间差时出错
我正在创建一个函数,作为大学一个小组的数据库项目的一部分。我希望函数能以最快的速度返回一场比赛在中完成的时间,并尝试了以下代码。我得到了一个错误,因为我认为它试图返回多个值,但无法想出其他方法来执行此操作。感谢您的帮助创建MYSQL函数以计算时间差时出错,mysql,Mysql,我正在创建一个函数,作为大学一个小组的数据库项目的一部分。我希望函数能以最快的速度返回一场比赛在中完成的时间,并尝试了以下代码。我得到了一个错误,因为我认为它试图返回多个值,但无法想出其他方法来执行此操作。感谢您的帮助 DELIMITER // CREATE OR REPLACE FUNCTION calc_race_winner(in_race_id INT) RETURNS FLOAT(10) BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS temp_r
DELIMITER //
CREATE OR REPLACE FUNCTION calc_race_winner(in_race_id INT)
RETURNS FLOAT(10)
BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS temp_result AS (
SELECT
(TIME_TO_SEC(TIMEDIFF(ps_result.finish_time, ps_race.start_time)) / 60) AS finish_time_mins
FROM ps_race
INNER JOIN ps_result ON ps_race.race_id = ps_result.race_id
);
SELECT *
FROM temp_result
WHERE ps_race.race_id = in_race_id
ORDER BY finish_time_mins ASC LIMIT 1;
RETURN finish_time_mins;
END//
DELIMITER ;
定义一个局部变量,将完成时间读入其中并返回相同的值
begin
declare finish_time_calculated_in_mins int default 0;
create temp.....
....
select finish_time_mins
into finish_time_calculated_in_mins
from temp_result
where ps_race.race_id = in_race_id
order by finish_time_mins asc
limit 1;
return finish_time_calculated_in_mins;
end;