İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

tabloda gruplama yaparak arasından büyük olanı çekmek

Balkan

0
İyinet Üyesi
Katılım
4 Ekim 2006
Mesajlar
174
Reaction score
0
Tablodaki veriler şu şekilde olsun

Ad Soyad Yaş
ali yılmaz 25
veli öztürk 20
ali demir 22
cem cengiz 21
veli erdoğan 26
can dinçer 30


Amacım yaşı 28 den küçük olanlar arasından, aynı isimlilerin yaşının en büyük olanlarını ve tek isimlilerin hepsini döndürmek. Yani

Ad Soyad Yaş
ali yılmaz 25
cem cengiz 21
veli erdoğan 26

iki tane ali ve veli olduğu için yaşı büyük olan ali ve veliyi ve tek cem olduğu için cemi döndürecek bir sorgu gerekiyor. Yaptığım araştırmalarda tüm ali ve velileri gruplamak gerektiği ve bunun için de group by kullanılması gerektiğini gördüm. Bunun için şu şekilde bir sorgu düşündüm

select * from tablo where yas<28 group by ad having yas=max(yas)

ancak bu sorgu istediklerimi döndürmüyor. nasıl bir sorgu kullanmalıyım bir fikriniz var mı?
 

desoLate

0
İyinet Üyesi
Katılım
14 Haziran 2006
Mesajlar
220
Reaction score
0
Sql sorgusunda, DISTINCT(ad) mantığıyla bunu çözebilirsiniz. DISTINCT, belirtilen sütundaki farklı değerli alır.
 

disconnect

0
İyinet Üyesi
Onaylı Üye
Katılım
1 Şubat 2005
Mesajlar
3,367
Reaction score
5
Select DISTINCT ad,soyad,max(yas) as yasim from tablo group by ad order by yasim desc

Denemedi.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst