我有一块SQL可以解决排行榜上高尔夫球手的排名问题.我是
Spring的新手,我不认为我可以使用Spring JDBC执行此操作,因此我认为我需要将其转换为mySQL存储过程.
任何人都可以给我一些关于我需要转换的指示吗?简单地将CREATE PROCEDURE和param列表放在此处不起作用.
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