Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Veritabanları & SQL

Cevapla
 
LinkBack Seçenekler
Eski 01/10/2006, 13:12   #1 (permalink)
Eski Cevizci
 
Üyelik Tarihi: 10/2003
Mesaj: 486
Varsayılan Sql cümlesi

6 tane oyun var ve rekorları tutuyorum.

skor tablosunda tutuluyor tüm bilgiler

tablo yapısı
----------
skor_id autonumber
oyun_adi text
uye_adi text
skor number

Kod:
SELECT skor.oyun_adi, Max(skor.uye_adi) AS uye_adi, Max(skor.skor) AS skor
FROM skor
GROUP BY skor.oyun_adi;
bu sql ile aldığımda her oyunun en yüksek puanlarını buluyor ama uye_adi max yaptığım için üye adı başka bir üyenin adını yazıyor yani yanlış bir üye adı. Rekoru yazanınkini yapmam lazım.

Hatta mümkünse aynı oyunda 1. 2. 3. rekorları yapanıda bulmam lazım yani

6*3 = 18 kayıt. Yada her oyunun birincisi toplam 6 kayıt çıkması gerekiyor.

teşekkürler.
kuen hatta değil   Alıntı Yaparak Yanıtla
Eski 03/10/2006, 09:03   #2 (permalink)
Üye
 
JaiLeR Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 08/2006
Yer: İstanbul
Mesaj: 47
Varsayılan

bu şekilde her oyun için en yüksek puanı alanı listeleyebilirsin.

Alıntı:
SELECT skor.oyun_adi, skor.uye_adi, Max(skor.skor) AS skor
FROM skor
GROUP BY skor.oyun_adi, skor.uye_adi;
__________________
Aslanlar Ülkesinde Tavşan Avlarken Gözünüzü Aslanlardan Ayırmamalısınız; Ama Aslan Avlayacaksanız, Tavşanlara Aldırmanız Gerekmez
JaiLeR hatta değil   Alıntı Yaparak Yanıtla
Eski 03/10/2006, 14:30   #3 (permalink)
Eski Cevizci
 
Üyelik Tarihi: 10/2003
Mesaj: 486
Varsayılan

bu şekilde yapınca her oyundan 1 kayıt çıkartmıyor.

oyun adı ve uye adına göre grupluyor, denedim bunuda.
kuen hatta değil   Alıntı Yaparak Yanıtla
Eski 04/10/2006, 16:17   #4 (permalink)
...
 
Üyelik Tarihi: 10/2004
Yer: İstanbul
Mesaj: 752
Varsayılan

Benzer bir durum ile karşılaşmıştım ( skorlu değil ) Bende sormuştum ama cevap alamadım. Konuyu takip edeceğim. Ben çözüm olarak skor ve üye adını ayrı ayrı almayı tercih ettim. iç içe sorgulama oldu ve normal olarak sistemi yoruyor.

<%
Set rs=baglanti.execute("select oyun_adi, Max(skor) AS skor from skor group by oyun_adi")
'şimdi ikinci sorgulama. 3 tane oyuncu alacaksan buraya döngü koyabilirsin.
set rs2=baglanti.execute("select uye_adi from skor where skor='"&rs("skor")&"' AND oyun_adi='"&rs("oyun_adi")&"' ")
%>
<%= rs("oyun_adi")%> Oyununun en yüksek skoru <%= rs("skor")%>, Bu skor <%= rs2("uye_adi")%> tarafından yapılmıştır.


Kırmızı olarak yazdıklarım en son alternatifin olabilir.
selected hatta değil   Alıntı Yaparak Yanıtla
Eski 04/10/2006, 16:33   #5 (permalink)
Eski Cevizci
 
zuzuu Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2005
Mesaj: 289
Varsayılan

arkadaşlar forumu dikkatli incelerseniz daha önceden yapılmış çözümler var hatta biri bugun bile aktif halde:
http://forum.ceviz.net/showthread.php?t=32642 (Mysql sorgu sonucu sorgulama)

neyse sorunun çözümü şu şekilde sağlanabilir:
select s.uye_adi,s.oyun_adi,s2.skor from skorlar s
,(select oyun_adi,max (skor) skor from skorlar group by oyun_adi )s2
where s.oyun_adi=s2.oyun_adi and s.skor=s2.skor

ya da ilgili linkteki gibi temp bir tablo kullanılarak da yapılabilr.
zuzuu hatta değil   Alıntı Yaparak Yanıtla
Eski 04/10/2006, 16:48   #6 (permalink)
Cevizci
 
Üyelik Tarihi: 02/2003
Mesaj: 165
Varsayılan

select a.oyun_adi,b.uye_adi,skor1
from
(SELECT oyun_adi,max(skor) as skor1 FROM skor
group by oyun_adi) a,
(SELECT oyun_adi,uye_adi,skor FROM skor
group by oyun_adi,uye_adi) b
where a.oyun_adi = b.oyun_adi
and a.skor1 = b.skor
bahtiyarsenoglu şu an hatta   Alıntı Yaparak Yanıtla
Eski 04/10/2006, 16:52   #7 (permalink)
Cevizci
 
Üyelik Tarihi: 02/2003
Mesaj: 165
Varsayılan

zuzuu nun yazdığını farketmeden yazdım. O nunki daha derli toplu...
bahtiyarsenoglu şu an hatta   Alıntı Yaparak Yanıtla
Eski 04/10/2006, 19:15   #8 (permalink)
...
 
Üyelik Tarihi: 10/2004
Yer: İstanbul
Mesaj: 752
Varsayılan

Arkadaşlar kusura bakmayın kısa da olsa ben bu kodu anlayamadım. Ve kendime göre düzenleyemedim. Sanırım benim durum biraz daha farklı.
Bir sayaç tablom var yapısı aşağıdaki gibi.

Tarih hariç hepsi int formatında.
Id, uye_id, giris,ip,sayfa,kullanim,tarih

Benim istediğim son 20 dakika da aktif olan üyelerin hangi sayfalarda ve en son ne zaman gezdiği ( son 5 ).


Benim yaptığım ilk mesajımda da bahsettiğim gibi öncelikle …

Üye_id ye göre gruplayarak 20 dakika da aktif olanların listesini alıyorum. Sonra bu liste bitene kadar döngü oluşturarak döngünün içinde tekrar bir sorgulama yaparak en son girdikleri sayfayı alıyorum ve ekrana yazıyorum.
Sayac veritabanıda oldukça büyüdüğünden artık sorun oluyor. Gerçi bu sayfayı bu yüzden çok kullanmıyorum ama girdiğimde de sistemi çok yoruyor. Sayfanın serverda yüklenmesi bile 10 sn sürüyor.
selected hatta değil   Alıntı Yaparak Yanıtla
Eski 27/10/2006, 23:00   #9 (permalink)
Eski Cevizci
 
Üyelik Tarihi: 10/2003
Mesaj: 486
Varsayılan

Teşekkürler.

Bu kodu böyle yaptım;

Kod:
SELECT s.uye_adi, s.oyun_adi, s2.skorx
FROM skorlar AS s, [select oyun_adi,max (skor) as skorx from skorlar group by oyun_adi ]. AS s2
WHERE s.oyun_adi=s2.oyun_adi and s.skor=s2.skorx;
kuen hatta değil   Alıntı Yaparak Yanıtla
Eski 28/10/2006, 01:19   #10 (permalink)
Iki Ters Bir Düz...
 
Revne Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 11/2005
Mesaj: 595
Varsayılan

Alıntı:
kuen, mesajından alıntı: Mesajı Gör
bu şekilde yapınca her oyundan 1 kayıt çıkartmıyor.

oyun adı ve uye adına göre grupluyor, denedim bunuda.
Kod:
SELECT skor.oyun_adi, skor.uye_adi, Max(skor.skor) AS skor
FROM skor
GROUP BY skor.oyun_adi, skor.uye_adi
HAVING COUNT(*)=1
işini görecektir...
Revne hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
Karmaşık bir sql cümlesi. kuen Veritabanları & SQL 2 28/10/2006 01:28
SQL Cümlesi 1 field 2 ayrı tabloda ilişki problemi calvados Veritabanları & SQL 2 28/07/2006 17:19
Karışık bir SQL cümlesi... overworld Veritabanları & SQL 6 29/12/2005 12:37
ASP.NET Dinamik Bağlantı Cümlesi Tom_Bombadil ASP 3 30/04/2005 07:40
İç içe 2 sorgu cümlesi nasıl hazırlanıyor.. Cekici Veritabanları & SQL 2 15/02/2005 14:49


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 22:02.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net