Имеется таблица баллов со следующей схемой
+----+-------+
| Id | Score |
+----+-------+
| 1 | 3.50 |
| 2 | 3.65 |
| 3 | 4.00 |
| 4 | 3.85 |
| 5 | 4.00 |
| 6 | 3.65 |
+----+-------+
Я пробовал следующее:
SET @prev_value = NULL;
SET @rank_count = 0;
SELECT Id, Score, CASE
WHEN @prev_value = Score THEN @rank_count
WHEN @prev_value := Score THEN @rank_count := @rank_count + 1
END AS Rank
FROM Scores
ORDER BY Score
Чтобы получить
+-------+------+
| Score | Rank |
+-------+------+
| 4.00 | 1 |
| 4.00 | 1 |
| 3.85 | 2 |
| 3.65 | 3 |
| 3.65 | 3 |
| 3.50 | 4 |
+-------+------+
Но вместо этого я получаю эту ошибку:
Line 3: SyntaxError: near 'SET @rank_count = 0;
SELECT Id, Score, CASE
WHEN @prev_value := Score THEN @'
Что я делаю неправильно?