【发布时间】:2010-12-21 17:26:54
【问题描述】:
我有一段 SQL 可以计算出高尔夫球手在排行榜上的排名。我对 Spring 很陌生,我认为我无法使用 Spring JDBC 执行此操作,因此我认为我需要将其转换为 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
【问题讨论】:
-
你应该接受一个答案,保罗。我们的想法是在此处标记正确且最有帮助的答案。
标签: java mysql spring stored-procedures