我有一段SQL可以在排行榜上排除高尔夫球员的排名。我对Spring很新,我不认为我可以使用Spring JDBC执行此操作,所以我认为我需要将它转换为mySQL存储过程。将SQL语句转换为mySQL存储过程
任何人都可以给我一些指针,我需要转换什么?简单地把CREATE PROCEDURE和参数列表放在这里不起作用。
SET @rank = 1, @prev_val = NULL, @prev_rank = NULL;
SELECT rank FROM
(
SELECT @rank := IF(@prev_val!=winnings,@prev_rank+1,@rank) AS rank
, @prev_val := winnings AS winnings
, @prev_rank := @rank AS prevRank
, t.golferID
FROM
(
select g.golferID, sum(winnings) as winnings
from results r
join resultDetails rd on r.resultID = rd.resultID
join golfers g on rd.golferID = g.golferID
where r.status = 'C' and r.compID = 1
group by golferID order by winnings desc
) AS t
) AS showRank WHERE golferID = 16
你应该接受一个答案,保罗。这个想法是在这里标记正确和最有帮助的答案。 – 2010-12-27 10:29:28