/ Satır satır position'ı gster / set @rowId = 0; SELECT @rowId := @rowId + 1 as position, id, league, leagueScore FROM tmplig ORDER BY leagueScore DESC / Id'si 6 olanın position değerini bulalım / SELECT id, (SELECT COUNT FROM `tmplig` where id >= 6 order by leagueScore DESC) AS `position`, league FROM tmplig WHERE id = 6 saybirs tarafından 19/Ağu/19 15:54 tarihinde düzenlenmiştir

Soruyu yanlis anlamisim. Where league=0 olmali sonu. Having e de hic gerek yok. tesekkurler rakkoc.

Merhaba, select from users where league = "0" order by leagueScore descYukarıdaki fonkiyon ile ligi 0 olan kişilerin lig skorunu büyükten küçüğe doğru sıralıyor. Bu fonksiyona şu işlemi mysql sorgusu ile nasıl ekleyebilirim?"idsi 12 olanın yukarıdaki listeye gre kaçıncı sırada olduğunu yazdır"

emirhan-exp bunu yazdı Select, rank over siralama from... having siralama=12 cok guzel bir mantik olmuş. ama lig kısmını WHERE ile, lig içinde ki ID'yi having ile alman gerekecek ki lig içinde ki sırasını versin adamın. genel değil. edit : yanlışlık ile tab a basinca ilk spacebara basışta post etti :D rakkoc tarafından 20/Ağu/19 15:13 tarihinde düzenlenmiştir Bu aralar fazla yogunum. Unuttugum seyler oluyorsa affola. DM vs atın.

Aşağıdaki sorgu ile hallettim. select count from users where leagueScore >= "8" and league = "1" order by leagueScore desc leagueScore >= "8" olan yere kişinin skorunu yazdırıyorum.

/ Satır satır position'ı gster / set @rowId = 0; SELECT @rowId := @rowId + 1 as position, id, league, leagueScore FROM tmplig ORDER BY leagueScore DESC / Id'si 6 olanın position değerini bulalım / SELECT id, (SELECT COUNT FROM `tmplig` where id >= 6 order by leagueScore DESC) AS `position`, league FROM tmplig WHERE id = 6 / Id'si 6 olanın position değerini bulalım / kısmında bulunan sorguyu denediğim zaman belirtilen idye sahip kişiyi getiriyor fakat en az skora sahip olmasına rağmen pozisyon hep 1. Kodu şu şekilde league=1 olanların içerisinde al dediğim zaman yine hep 1. sırada çıkıyor. Sana zahmet kontrol edebilir misin?league 1'de 4 kişi var ve en düşük skora sahip kişinin idsi 8. Position 4 olması lazım ama 1 dndürüyor. select id, (select count from users where id >= "8" and league = "1" order by leagueScore desc) as "position", league from users where id = "8" and league = "1" order by leagueScore desc Edit: id >= 8 yazdığım için idsi 8'den küçük olanları almıyormuş sorun bundan kaynaklı herhalde. h0rtl4kk tarafından 19/Ağu/19 16:49 tarihinde düzenlenmiştir

https://stackoverflow.com/questions/3614666/mysql-get-row-position-in-order-by Burada bir çzüm mevcut.

edit saybirs tarafından 19/Ağu/19 17:08 tarihinde düzenlenmiştir

Select, rank over siralama from... having siralama=12 emirhan-exp tarafından 20/Ağu/19 01:52 tarihinde düzenlenmiştir