• 08-05-2020, 06:54:50
    #1
    ArkadaÅŸlar merhaba,
    Benim bir 10 parmak klavye yazma sitem var.Üyeler ekrana gelen metni yazıyor ve süre bitince sonuçlar mysql de tabloya insert ediliyor.
    yani bir üyenin aynı metin yada farklı bir metinde olabiliyor birden fazla tabloda kaydı oluşuyor.
    örneğin
    bu benim ama sağlıklı sonuç alamadığım kodum
    select id,uyeresim,username,toplamkelime,dogru,yanlis,tus vurus,Tarih,Sure,dogruluk,turu,Metin, MAX(dogru) FROM klavyesonuc WHERE turu='İmlasız' and Sure='60' GROUP BY username ORDER BY dogru DESC, yanlis ASC, tusvurus DESC LIMIT 4
    _______
    ______

    örneğin bu da tablodaki kayıtlar olsun
    id uyeresim username toplamkelime dogru yanlis tusvurus Tarih Sure dogruluk turu Metin
    [B]1 r1.png hasan 100 89 11 400 08/05/2020 60 80 Metin Nasrettin Hoca[/B]
    [B]2 r2.png mehmet 80 79 1 300 08/05/2020 60 80 Metin Nasrettin Hoca[/B]
    [B]3 r2.png mehmet 120 110 10 480 08/05/2020 60 80 Metin Nasrettin Hoca
    [B]4 r1.png hasan 140 125 15 500 08/05/2020 60 80 Metin Nasrettin Hoca[/B]
    [B]5 r4.png ayse 84 79 5 320 08/05/2020 60 80 Metin Nasrettin Hoca[/B]
    [B]6 r4.png ayse 94 90 4 320 08/05/2020 60 80 Metin Nasrettin Hoca[/B]
    [B]7 r6.png mert 40 29 11 120 08/05/2020 60 80 Metin Nasrettin Hoca[/B]
    [B]8 r6.png hamza 30 20 20 80 08/05/2020 60 80 Metin Nasrettin Hoca[/B]
    Ben en iyi yazan 4 kişinin listesini almak istiyorum. bu listede en başarılı oldukları satır görünücek.
    Şu şekilde bir görüntü olmalı

    id uyeresim username toplamkelime dogru yanlis tusvurus Tarih Sure dogruluk turu Metin
    [B]1 r1.png hasan 140 125 15 500 08/05/2020 60 80 Metin Nasrettin Hoca[/B]
    [B]2 r2.png mehmet 120 110 10 480 08/05/2020 60 80 Metin Nasrettin Hoca[/B]
    [B]3 r4.png ayse 94 90 4 320 08/05/2020 60 80 Metin Nasrettin Hoca[/B]
    [B]4 r6.png mert 40 29 11 120 08/05/2020 60 80 Metin Nasrettin Hoca[/B]
    bu sorgu için bir sql koduna ihtiyacım var. çok araştırdım denedim ama olmadı.Yardımcı olursanız sevinirim.
    Saygılarımla.
  • 08-05-2020, 06:56:03
    #2
    Hocam aynı konuyu 2 defa açmanıza gerek yok
  • 08-05-2020, 06:57:56
    #3
    google -> rank, dense_rank, partition
  • 08-05-2020, 07:11:18
    #4
    tlga_kurt adlı üyeden alıntı: mesajı görüntüle
    Hocam aynı konuyu 2 defa açmanıza gerek yok
    Ben yeniyim nasıl konu eklerim derken yanlış kategoriye ekledim diye düşümdüm. siliyim birini dedim ama silemedim.şimdi öğrendim.artık sorun olmaz.
    teşekkürler
  • 08-05-2020, 10:55:33
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Öncelikle basari_puani diye bir kolon eklemeniz gerek tabloya,ondan sonra işlem yapılması daha sağlıklı olur.
  • 08-05-2020, 11:02:37
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Buradaki temel problem, uyenin basarisinin nasil hesaplandigini tanimlamamaniz. Uyenin basarisi yalnizca dogru basilan tusla mi olculecek yoksa yanlis basilan tuslarin ekstra bir kaybi olacak mi? Bunlari dusunup, her bir metine ait bir basari puani sutunu olusturabilirsiniz veya buna gore SQL sorgunuzu yazabilirsiniz. Umarim yardimci olur.
  • 08-05-2020, 12:16:05
    #7
    en çok doğru yazdıklarına göre değerlendiricek ancak aynı başarıyı yakalayan birden fazla kişi varsa bu sefer en az yanlış yapanı başarı listesinde üst sıralara çıkarıcak.tam olarak istediğim bu.