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ı?
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ı?