【发布时间】:2013-12-03 14:16:09
【问题描述】:
我正在尝试使用存储的时间来获取表中用户的排名。
RAW SQL 查询工作正常,但我无法使其作为过程工作。
SET @rownum := 0;
SELECT rank, user_id, best_time
FROM (
SELECT @rownum := @rownum +1 AS rank,id, best_time, user_id
FROM user_round WHERE round_id=1 ORDER BY best_time ASC
) AS result WHERE user_id = 1
我的尝试:
BEGIN
DECLARE variable INT DEFAULT 0;
SELECT rank,best_time, user_id
FROM (
SELECT SET variable=variable+1 AS rank, best_time, user_id
FROM database.user_round WHERE round_id=1 ORDER BY best_time ASC
) AS result WHERE user_id = 1;
END
【问题讨论】:
-
尝试从
SELECT SET variable=variable+1中删除SET -
如果我删除设置我可以保存程序但排名始终为 0