bir soruda benden dün baya uğraştım ama istediğim sonucu bir türlü alamadım ne istiyorum kısmını biraz açayım ... şlimdi konu ve mesaj olmak üzere 2 ayrı tablom var konular konu başlığı konu id ve eklenme tarihi mesaj ise konu id mesaj mesaj id eklenme tarihi olarak sıralanmakta benim istediğim en son mesaj atılan 5 başlığı seçtirmek mysql database i ile çalışıyorum şimdi bir kaç farklı yöntem denedim ama sonuçlar hep saçmaladı saçmalamaktan kastım 1 konuya 2 yeni mesaj atılmışsa 2 sinide göstermesi oysa benim istediğim tek konudaki en yeni mesaj
select * from mesaj order by eklenmetarihi limit 5 ile bir sıkıntı yaşamadan en son mesajları çektiriyorum ancak bir gruplama yapmıyor select * from mesaj group by konu id order by eklenmetarihi limit 5 dediğimde ise gruplama sonucu en büyük mesaj id yi döndermiyo :S çözemedim daha DISTINCT komutu ise farklı tarihten dolayı çuvallıyor :S tarih kısmını sorgudan çıkartıncada bidaha tarihleri çekmek için sorgu döndermem gerekiyor
ordan komplike sorgu cümleleri hazırlıyabilir ve test tedebilirsin.
view derken? :S biraz daha ayrıntılı anlatabilir misin? şu an sadece sql kodlarını biliyorum ve veri tabanı yapıp sorgu yapmak istiyorum.. veri tabanına nereden başlamalıyız.. teşekkürler
bir soruda benden dün baya uğraştım ama istediğim sonucu bir türlü alamadım ne istiyorum kısmını biraz açayım ... şlimdi konu ve mesaj olmak üzere 2 ayrı tablom var konular konu başlığı konu id ve eklenme tarihi mesaj ise konu id mesaj mesaj id eklenme tarihi olarak sıralanmakta benim istediğim en son mesaj atılan 5 başlığı seçtirmek mysql database i ile çalışıyorum şimdi bir kaç farklı yöntem denedim ama sonuçlar hep saçmaladı saçmalamaktan kastım 1 konuya 2 yeni mesaj atılmışsa 2 sinide göstermesi oysa benim istediğim tek konudaki en yeni mesaj
select * from mesaj order by eklenmetarihi limit 5 ile bir sıkıntı yaşamadan en son mesajları çektiriyorum ancak bir gruplama yapmıyor select * from mesaj group by konu id order by eklenmetarihi limit 5 dediğimde ise gruplama sonucu en büyük mesaj id yi döndermiyo :S çözemedim daha DISTINCT komutu ise farklı tarihten dolayı çuvallıyor :S tarih kısmını sorgudan çıkartıncada bidaha tarihleri çekmek için sorgu döndermem gerekiyor
mesaj_id yi sequence olarak düşünürsek;
select * from mesaj where mesaj_id in ( select max(mesaj_id) from mesaj group by konu_id) limit 5
her bir konunun son mesajının id sini alıp tekrar mesaj tablosundan sorguluyorum. mysql hiç kullanmadım ama mysql için biraz modofiye edebilirsin. Sadece mantıgı anlaman için yazdım.
bir soruda benden dün baya uğraştım ama istediğim sonucu bir türlü alamadım ne istiyorum kısmını biraz açayım ... şlimdi konu ve mesaj olmak üzere 2 ayrı tablom var konular konu başlığı konu id ve eklenme tarihi mesaj ise konu id mesaj mesaj id eklenme tarihi olarak sıralanmakta benim istediğim en son mesaj atılan 5 başlığı seçtirmek mysql database i ile çalışıyorum şimdi bir kaç farklı yöntem denedim ama sonuçlar hep saçmaladı saçmalamaktan kastım 1 konuya 2 yeni mesaj atılmışsa 2 sinide göstermesi oysa benim istediğim tek konudaki en yeni mesaj
select * from mesaj order by eklenmetarihi limit 5 ile bir sıkıntı yaşamadan en son mesajları çektiriyorum ancak bir gruplama yapmıyor select * from mesaj group by konu id order by eklenmetarihi limit 5 dediğimde ise gruplama sonucu en büyük mesaj id yi döndermiyo :S çözemedim daha DISTINCT komutu ise farklı tarihten dolayı çuvallıyor :S tarih kısmını sorgudan çıkartıncada bidaha tarihleri çekmek için sorgu döndermem gerekiyor
mesaj_id yi sequence olarak düşünürsek;
select * from mesaj where mesaj_id in ( select max(mesaj_id) from mesaj group by konu_id) limit 5
her bir konunun son mesajının id sini alıp tekrar mesaj tablosundan sorguluyorum. mysql hiç kullanmadım ama mysql için biraz modofiye edebilirsin. Sadece mantıgı anlaman için yazdım.
Evet mantık daha basit ve doğru, tabloları id alanlarına göre bağlıyorsanız doğal olarak son kaydedilmiş mesajlar ID değeri en yüksek kayıtlar olacaktır. Hatta şöylede basit şekilde alabilirsin.
select * from mesaj order by eklenmetarihi limit 5 ile bir sıkıntı yaşamadan en son mesajları çektiriyorum ancak bir gruplama yapmıyor
select * from mesaj group by konu id order by eklenmetarihi limit 5
dediğimde ise gruplama sonucu en büyük mesaj id yi döndermiyo :S çözemedim daha
DISTINCT komutu ise farklı tarihten dolayı çuvallıyor :S tarih kısmını sorgudan çıkartıncada bidaha tarihleri çekmek için sorgu döndermem gerekiyor
Bu mesaja 1 cevap geldi. Cevapları Gizle