increment row value does not work properly with where condition
Try it this way

SELECT id, rank,
       @rownum   := IF(rank = @prevrank, @rownum, @rownum + 1) myorder,
       @prevrank := rank previousRank
  FROM 
(
  SELECT mro.id, mro.rank
    FROM myRankorder mro JOIN rankGroup rg
      ON rg.id = mro.groupid 
   WHERE rg.groupid = 1 
   ORDER BY mro.rank DESC
) q CROSS JOIN
(
  SELECT @rownum := 0, @prevrank := NULL
) const


Output:


| ID | RANK | MYORDER | PREVIOUSRANK |
|----|------|---------|--------------|
|  3 |    7 |       1 |            7 |
|  4 |    3 |       2 |            3 |
|  1 |    2 |       3 |            2 |


Here is SQLFiddle demo