MySql &

1 Cevap php

Bu yüzden benim başlık gibi garip garip bir soru türüdür.

Kullanıcı adı ve oy pusulası: Ben bir iki önemli alan vardır pusulalar adında bir tablo var bu yüzden bu bir oylama app. Alan pusulada bir VARCHAR ama temelde CSV'ler olarak 25 kimlikleri (1-200 numaralar) listesini depolar. Örneğin bu olabilir:

22,12,1,3,4,5,6,7,...

Ve başka bir olabilir

3,4,12,1,4,5,...

Ve böylece.

Yani lider noktada o kimliği vardır ben hangi satır (veya kullanıcı adı) bulmak istiyorum (en 12 diyelim) bir id verilir. Ikinci kullanıcı üçüncü konumda bulunuyor ise o ikinci pozisyonda 12 çünkü Yani yukarıdaki örneğimizde ilk kullanıcı olacak. Bu birden fazla kişi (ki kullanıcı # 3 ve # 4 nokta # 1 varsa) lider konumda 12 olması olasıdır ve o kimse 12 sıralanmış olabileceği mümkündür.

Ben de (en kötü nokta vardır) tersini yapmak gerekiyor ama gerisi kolay bir sorunu anlamaya eğer ben rakam.

Ben sorgular ve tablolar az sayıda kullanarak bunu yapmak istiyorum ama beni yaşam için nasıl göremiyorum.

Ben düşündüm basit çözüm tablosundaki tüm kullanıcılar hareket ve lider noktada bir kimliği vardır kim takip etmektir. Bu artık benim için iyi çalışır ancak kullanıcı sayısı potansiyel katlanarak artabilir.

Ben diğer fikri böyle bir sorgu yapmak oldu:

select `username` from `ballots` where `ballot` like '12,%'

ben bittim sonuçlar verir ve eğer pozisyon 1 lider nokta çünkü. Ama bu 0 sonuç döndü ben yapardım:

select `username` from `ballots` where `ballot` like '*,12,%'

* Sadece (%) farklı bir numara ve tek bir numara maç olacak bir joker karakter olduğu. Bu aslında yapılabilir ama eğer ben bilmiyorum.

Neyse herkes bunu en iyi nasıl herhangi bir öneriniz var mı?

Teşekkürler