title: MySQL Rank with ties
body: <p>I am new to sql and I have never used variables or conditions in mysql, but know that from other programming languages. Since a few days I try to find a way to rank a user score. I read a lot of articles, and also questions that asked on stackoverflow and finally I found a solution that nearly does it like I want it.</p>
  
  <pre><code>SELECT
    score_users.uid,
    score_users.score,
    @prev := @curr,
    @curr := score,
    @rank := IF(@prev = @curr, @rank, @rank +1) AS rank
  FROM
    score_users,
    (SELECT @curr := null, @prev := null, @rank := 0) tmp_tbl
  WHERE
    score_users.matchday = 1
  ORDER BY
    score_users.score DESC
  </code></pre>
  
  <p>But my Problems are tie scores. I don't want to get consecutive ranks, like this:</p>
  
  <pre><code>+------------+------+--------+
  | uid | name  | rank | score |
  +------------+------+--------+
  | 4   | Jon   |   1  |  20   |
  | 1   | Jane  |   2  |  19   |
  | 2   | Fred  |   2  |  19   |
  | 9   | July  |   3  |  18   |
  | 7   | Mary  |   4  |  17   |
  | 3   | Toni  |   5  |  12   |
  | 5   | Steve |   5  |  12   |
  | 6   | Peter |   6  |  11   |
  | 8   | Nina  |   7  |  10   |
  +------------+------+--------+
  </code></pre>
  
  <p>I would like to get a result like this:</p>
  
  <pre><code>+------------+------+--------+
  | uid | name  | rank | score |
  +------------+------+--------+
  | 4   | Jon   |   1  |  20   |
  | 1   | Jane  |   2  |  19   |
  | 2   | Fred  |   2  |  19   |
  | 9   | July  |   4  |  18   |
  | 7   | Mary  |   5  |  17   |
  | 3   | Toni  |   6  |  12   |
  | 5   | Steve |   6  |  12   |
  | 6   | Peter |   8  |  11   |
  | 8   | Nina  |   9  |  10   |
  +------------+------+--------+
  </code></pre>
  
  <p>I guess I have to create a new temporary table, and some if conditions, but I couldn't find a solution and become desperate!
  Also, I have to keep an eye on performance, maybe there are better ways to get the rank on score as I did it? I would be very grateful for hints or some code snippet.</p>