Doğru Cevap
-
group by yapmalisin
-
psygnosis
sql le pek aram yok ama denedim onu olmadı ayrıca group by yapamam çünkü
dielim 60 puan süresi 20
60 puan süresi 10 group by yaparsam hangisini alıcak? Bu aynı kişinin puanları12 yıl önce yazılmış -
Supervisor
ornek kayit ve istedigin sonucu yazsana
.....
kayit
..
1 ali 60 3sn
1 ali 60 5sn
1 ali 50 40sn
2 veli 60 3sn
2 veli 50 5sn
....
sonuc
1 ali 60 3n
2 veli 60 3sn
1 ali 60 5sn
gibi anlamadim tablo ve sorgunu12 yıl önce yazılmış -
psygnosis
Benim sorgum şuan 2 kişi örnek vereyim
Ahmet 1.Puan 60 2. puan 50
Mehmet 1. Puan 50 2.puan 40
Benim sorgum sıralamayı Ahmet 60, Mehmet 50 diye sıralıyor.. yani her 2 sinin en yüksek puanlarını sıralıyor...
Ama Dielim Ahmet her 2 puanıda 60 ise gidiyor...
Ahmet 60, Ahmet 60, Mehmet 50 yazıyor anlatabildimmi Ahmet'in her 2 puanını yüksek puan algılayıp ikisinide yazıyor... burda yapmak istediğim puanların yanında Ahmet puanlarının sürelerinden süresi küçük olanı kıyaslayabilirsem olay çözülecek yani
Ahmet 1.Puan 60 Süresi 60 2. Puan 60 süresi 40 Burda puanlar eşitse süresi küçük olanı kontrol etmelim sorguda nereye koyacagımı bulamadım
En kısa özet
Ahmet 1.Puan 60 süre 60 2.puan 50 süre40
Mehmet 1.Puan 50 süre 40 2.puan 50 süre 30
Çıktı Ahmet 60 süre 40
Mehmet 50 30
En kısa özet 1. kişinin aldıgı puanlar eşitse zamanları kıyaslayıp küçük olanı yazdıurmalıyım abi12 yıl önce yazılmış -
psygnosis
en kısa özette puanları yanlış yazmışım Ahmet 60 Mehmet 50 olcak 50 ye 40 yazmışım12 yıl önce yazılmış -
Supervisor
select * from
(select * from skor order by skor desc , sure asc) as sk
inner join kullanici as kl
on sk.userId=kl.userId12 yıl önce yazılmış -
psygnosis
abi yok bu deil bu hem çalışmadı yapmaya çalıştıgını anladım bende yapmıştım ama bu tüm analı kızlı sıralar :D hem Max puanlar olacak...
bana şunu yaparmısın
Ahmet 60,50 süreler 30,20 ya 2 puanı... Ahmet 60 ını Eğer Ahmet2in her 2 puanıda 60 ise süresi 20 olanı
Mehmet 50,40 süreler 30,20 ya Mehmetin 50 sini..Eğer Mehmetin her 2 puanıda 50 ise süresi 20 olanı
Örnek Ahmet 60,60 süre 30,20 Çıktısı 60 süre 20
Mehmet 50,50 süre 30,20 ise çıktıısı 50 süre 20
İnner joini boşver ona ben bakarım. sen direk böyle bi sıralama nasıl yapılır12 yıl önce yazılmış -
psygnosis
Resim cekmeden olmıcak anlaşıldı...
http://imageshack.us/photo/my-images/27/unledkkc.png/ şu linki tarayıcıya yapştır...
abi yukarda id'si 2 olan kullanıcının puanları ve süreleri var Dikkat ettiysen 2 puanıda aynı..
Normalde o sorgu Max puanı getiriyor... Ama 2 puanda aynı oldugu için 2 sinide yazdı
burda süresi kucuk olanı göstericem işte bunu yapamadım Sorguyu bu şekilde düzenlermisin..12 yıl önce yazılmış -
auyanik
1
select k.uniqe,k.ad,k.Soyad,skor,sure,zaman from skor s
2
inner join kullanici k on k.userId = s.userId
3
where skor >= all (select max(skor) as maxskor from skor where s.userId = userId)
group by k.uniqe,k.ad,k.Soyad,skor,sure,zaman
// bu şekilde denermisin12 yıl önce yazılmış -
psygnosis
benim en üstte verdiğim sorgunun aynı sonucu döndürüyor.. Puanlar aynıysa süre kıyaslaması yine olmuyor... 1 kullanıcıya ait aynı 2 puanı yine ayrı ayrı yazıyor..12 yıl önce yazılmış -
psygnosis
lanet olsun ya bi süresi kucuk kontrolü yaptıramadım ya12 yıl önce yazılmış -
Supervisor
yine ilk dedigime geliyorsun . group by
select userid, max(skor) as maxscore,min([time]) as zaaman
from skor
group by userid;12 yıl önce yazılmış -
psygnosis
evet istediğim bunun gibi bi sonuc ama yine hatalı Sorgu çünkü Ben aynı puanlar arasında minimum süreli olanı istiyorum Bu sorgu ise Tüm puanlar arasında Max. Puan ve Mın süreyi getiriyor..
Demek istediğim mesele 125 puan ve 30 süre
120 puan ve 20 süre
senin sorgunun üstteki maximum skoru alttakinin min süresini alıyor... İstediğim tamda bu ama puanların aynı oldugu koşulda olması gerekiyor..
Neyse Service tarafında kaydederken kontrol ediip aynı puan varsa sadece süresini güncelleticem... başka türlü olmıcak12 yıl önce yazılmış -
psygnosis
onu geçtim artık yukarda son satırda söylediğimde yardım edermisin
Adamın önceki puanlarını kontrol etmeylim Web service teki method'ta WEb servicete adamın Id'sini
o id'ye ait skorları getirebiliyorum
.net tarafında Şu sql sorguysula select skor from skor where userID='2' mesela..
2 id li kişinin puanları sırasıyla 10,20,30 olarak yukardaki sorgudan geliyor. Test'ten adam 20 puan aldı Bu puanlar içinde gezip nasıl 20 varmı diye kontrol ederim..12 yıl önce yazılmış
-