Ceviz Forum

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

Cevapla
 
LinkBack Seçenekler
Eski 06/06/2005, 00:52   #1 (permalink)
Üye
 
Üyelik Tarihi: 05/2005
Mesaj: 31
Soru sql(group by) sorusu

kisi(sigortaNo,isim )
oyuncu(sigortaNo)
oynuyor(sigortaNo,baslik,yil,isim)
film(baslik,yil,gösterimbasi,gösterimsonu,gösterim süre,ülke)
devami(baslik,yil,dil,basligindan,yilindan)
yabancigösterim(baslik,yil,dil,orginaldil,orginaly il)
figur(isim)
yapiyor(sigortaNo,baslik,yil,is)
ugrasi(is)

1)en az 3 filmde ortaya cikmis ve sürekli ayni oyuncu tarafindan oynanan figurler?..
2)en az 3 filmde ortaya cikmis , süreli farkli bir oyuncu tarafinda oynanan figurleri ve uygun filmlerin ve oyuncularin sayisi?

sql gösterimi ???ama bilmiyorum yeterince acik mi sorular cunku bunlar ceviri ayni ifadeleri vermeye calistim ama ...

birde ben group by i anlamadim ne ise yariyor where ile zaten verilen kosullara göre bir grup olusuyor bir daha group by a ne gerek var?... teskk ...
mawera hatta değil   Alıntı Yaparak Yanıtla
Eski 06/06/2005, 01:11   #2 (permalink)
Registered User
 
Üyelik Tarihi: 01/2003
Mesaj: 6,337
Varsayılan

WHERE secilecek kayitlarin hangi kritere uyacagini belirtir. Gruplamayla bir ilgisi yoktur.
GROUP BY belli alanlarin degerine gore kayitlari gruplar.
acemi hatta değil   Alıntı Yaparak Yanıtla
Eski 06/06/2005, 01:15   #3 (permalink)
Üye
 
Üyelik Tarihi: 05/2005
Mesaj: 31
Soru

tamam da select,from,where ile select te verilen icerikleri iceren bir tabela olusmus oluyor bir daha group by a ne gerek var yani group by in sartlar belilendikten sonra olusan tabloya kattigi nedir???
mawera hatta değil   Alıntı Yaparak Yanıtla
Eski 06/06/2005, 11:28   #4 (permalink)
Registered User
 
Üyelik Tarihi: 01/2003
Mesaj: 6,337
Varsayılan

Ornegin bir stok hareket tablosu olsun. Tabloda urun_kodu, miktar, hareket_tipi, tarih alanlari olsun. Kayitlarimiz da sunlar olsun:

AGS - 23 - giris - 23/3/2005
AGS - 12 - cikis - 24/3/2005
JSH - 34 - cikis - 24/3/2005
JSH - 23 - cikis - 27/3/2005
AGS - 12 - cikis - 27/3/2005

WHERE ile hangi tipteki kayitlari gormek istedigini belirtirsin, yani gosterilecek kayitlar icin bir sart belirtilsin:
SELECT *
FROM tablo_adi
WHERE hareket_tipi = 'cikis'

Bu sorgu, hareket_tipi 'cikis' olan butun kayitlari gosterir.



Eger cikislari, urun_koduna gore gruplarsan her kayiti tek tek gostermez, ozet liste gosterir. Sorgu su olsun:
SELECT urun_kodu, sum(miktar)
FROM tablo_adi
WHERE hareket_tipi = 'cikis'
GROUP BY urun_kodu

Bu sorgu soyle bir cikti verir:
AGS - 24
JSH - 57
acemi hatta değil   Alıntı Yaparak Yanıtla
Eski 06/06/2005, 12:31   #5 (permalink)
Üye
 
Üyelik Tarihi: 05/2005
Mesaj: 31
Varsayılan

sondaki örnekte group by yerine select kisminda select distinct urun_kodu yazsaydikda ayni sonucu elde etmezmiydik?Group by a gerek yok o zaman... Bu arada cevap icin cook sagolun...
mawera hatta değil   Alıntı Yaparak Yanıtla
Eski 06/06/2005, 13:29   #6 (permalink)
Registered User
 
Üyelik Tarihi: 01/2003
Mesaj: 6,337
Varsayılan

Alıntı:
sondaki örnekte group by yerine select kisminda select distinct urun_kodu yazsaydikda ayni sonucu elde etmezmiydik?
Etmezdik. DISTINCT gruplama yapmaz, sadece tekrar eden kayitlari 1 kere gosterir.
acemi hatta değil   Alıntı Yaparak Yanıtla
Eski 07/06/2005, 03:15   #7 (permalink)
Üye
 
Üyelik Tarihi: 05/2005
Mesaj: 31
Ampul

group by in kullanildigi yerlere biraz daha bakarsam tamamdir.bilgi ve ugrasi icin sagolasin acemi
mawera hatta değil   Alıntı Yaparak Yanıtla
Eski 07/06/2005, 11:59   #8 (permalink)
...
 
Üyelik Tarihi: 10/2004
Yer: İstanbul
Mesaj: 752
Varsayılan

group by bazı yerlerde oldukça işine yarayacağından eminim.
acemi ark. bana bir kaç örnekle göstermişti. çok işime yaradı.

Birde şu having , distinc , join bunları öğrenebilirsem çook iyi olacak ama
(bu sözüm acemi ye idi yardım istiyoruma )
__________________
<%if instr(1,","&replace(Eid," ",",")&",",","&rs("id")&",")<>"0" then%>selected<%end if%>
selected hatta değil   Alıntı Yaparak Yanıtla
Eski 07/06/2005, 12:38   #9 (permalink)
Registered User
 
Üyelik Tarihi: 01/2003
Mesaj: 6,337
Varsayılan

DISTINCT tekrar eden kayitlari gostermemek icin kullanilir. GROUP BY'la genellikle karistirilir. GROUP BY'in amaci tekrarlari kaldirmak degil, belli gruplar icin ozet bilgi almaktir. O nedenle GROUP BY'da sum(), count(), average(), min(), max() gibi fonksiyonlarla ozet bilgilerin alindigi alanlar da olur.

JOIN birden fazla tablonun birlesiminden olusan sanal bir tabloyu olusturmak ve bunun uzerinde calismak icin kullanilir. Genellikle veritabanlarinda kayit tekrarlarini azaltmak ve tutarli bir yapi olusturmak icin birbirleriyle iliskili birden cok tablo kullanilir. Yalniz birbirleriyle iliskili bu tablolari, bir butun olarak gormek istedigimiz durumlar vardir. Bu durumlarda JOIN ile tablolari (gercekte degil ama) sanal olarak birlestiririz.

HAVING, WHERE'e benzer, yalniz soyle bir fark vardir: WHERE, olusacak kayitsetindeki kayitlarin tek tek hangi kriterlere uymasi gerektigini belirler. HAVING, kayitlarin islenmesinden sonra ortaya cikacak kayitsetinin hangi kriterlere uymasi gerektirigini belirler. O nedenle cogunlukla GROUP BY ile birlikte kullanilir.

Tabii boyle anlatinca pek aciklayici olmuyor. En iyi kendi ornekleriniz uzerinde biraz deneme yapmaniz.
acemi hatta değil   Alıntı Yaparak Yanıtla
Eski 07/06/2005, 14:51   #10 (permalink)
...
 
Üyelik Tarihi: 10/2004
Yer: İstanbul
Mesaj: 752
Varsayılan

Alıntı:
acemi, mesajından alıntı:
Tabii boyle anlatinca pek aciklayici olmuyor. En iyi kendi ornekleriniz uzerinde biraz deneme yapmaniz.
yazdıkların için saol. seninde dediğin gibi anlamlarını bilmek yetmiyor bu üç adet ifadeyi örnekler ile göstermek çok daha açıklayıcı olur.

sql için özel kitaplar aldım ama bişey öğrenemedim zaten zamanımda pek yok. en hızlı ve güzel örnekler ile öğreniliyor.

bana örnek gönderebilirmisin. yada buraya yazabilirmisin.?
__________________
<%if instr(1,","&replace(Eid," ",",")&",",","&rs("id")&",")<>"0" then%>selected<%end if%>
selected 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
Group by'da toplam omer Veritabanları & SQL 2 20/02/2007 09:55
free_coders Google Group shark_hack Duyurular & İlanlar 0 05/01/2006 14:36
Asp Msn Messenger Group ozh ASP 0 01/06/2005 14:11
group by cihancebeci Veritabanları & SQL 3 24/11/2004 12:53
GROUP By sorunu finder Veritabanları & SQL 1 18/08/2004 16:38


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

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