MySQL tablo üzerinde bir sayısal düzen dizin oluşturma

2 Cevap php

Isim, oy ve rütbe - I (aslında) 3 sütunlu bir tablo var. Ben oylarıyla tablo sipariş ve ardından en çok oyu ile bir 1 rütbe setine sahip olacak, böylece ikinci en fazla oy vb 2, bu sırayı yansıtmak için 'rütbe' güncellemek istiyorum

PHP bunu yapabilirsiniz ama oldukça savurgan görünüyor - elle PHP her kayıt işlemek zorunda kalmadan tek bir SQL sorgusu ile bunu yapmanın bir yolu var mı?

2 Cevap

Eğer sadece yerine saklayarak sizin sorgularda dinamik rütbe hesaplayabilirsiniz bağları umurumda değil varsayarsak.

 SET @rank=0;

 SELECT @rank:=@rank+1 AS rank, name, votes
 FROM yourTable
 ORDER BY votes DESC;

@ Johnfx size doğru cevap verdi, ancak ben bu makalenin yorum okuma ilgi olacağını düşünüyorum - http://arjen-lentz.livejournal.com/55083.html burada çeşitli rütbeli sorunlar çözüldü.