u sql-u uradis order by bodovi desc, i onda iterises kroz rezultat "rucno" i kada se promeni broj bodova povecas mesto za jedan .. ima fora da to uradis sa varijablama u mysql-u ali je problem sto je to resenje koje "ne mora da radi posle upgrade-a", dakle nacin na koji radi execution gde se promenjljive menjaju moze da se promeni bez najave tako da ti odradis upgrade i odjednom ti upit vise ne radi ... ali generalno bi to islo otprilike ovako
Code:
mysql> insert into t3 values ('takm1', 5), ('takm2', 3), ('takm3', 4), ('takm4', 3), ('takm5', 2);
Query OK, 5 rows affected (0.02 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> select * from t3 order by bod desc;
+-------+------+
| takm | bod |
+-------+------+
| takm1 | 5 |
| takm3 | 4 |
| takm2 | 3 |
| takm4 | 3 |
| takm5 | 2 |
+-------+------+
5 rows in set (0.00 sec)
mysql> set @mesto=0; set @prethodni=0; select takm,bod, if(@prethodni=bod,@mesto,@mesto:=@mesto+1) as mesto, @prethodni:=bod as ignorisi from t3 order by bod desc;
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
+-------+------+-------+----------+
| takm | bod | mesto | ignorisi |
+-------+------+-------+----------+
| takm1 | 5 | 1 | 5 |
| takm3 | 4 | 2 | 4 |
| takm2 | 3 | 3 | 3 |
| takm4 | 3 | 3 | 3 |
| takm5 | 2 | 4 | 2 |
+-------+------+-------+----------+
5 rows in set (0.00 sec)
mysql>