Şimdi Ara

SQL grubu (2. sayfa)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
27
Cevap
0
Favori
1.926
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: önceki 12
Sayfaya Git
Git
Giriş
Mesaj
  • 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




  • quote:

    Orjinalden alıntı: SiR MaNiaC

    viewleri kullan kardeş

    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
  • MS SQL kullanıyorsan management studio express indir

    burdan database'in tablolarını viewlerini ve bilimum diğer özelliklerini kullanabilirsin.
  • quote:

    sql i yeni öğreniyorum. ben şimdi Ms sql kodlarını biliyorum.. Sql server 2005 indirdim fakat kodları nereye yazıyoruz


    Ems sqlserver management tool diye bir program daha vardı. Yönetim için çok güzel opsiyonları var . Eğer yeni başlıyorsanız tavsiye ederim.

    http://sqlmanager.net/

    adresinden indirebilirsiniz.



    < Bu mesaj bu kişi tarafından değiştirildi irfanmatak -- 25 Ekim 2008; 11:06:02 >
  • @sir maniac, aspci79

    teşekkürler yrdımlarınız için
  • quote:

    Orjinalden alıntı: Tribesman

    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.




  • quote:

    Orjinalden alıntı: Bulldog


    quote:

    Orjinalden alıntı: Tribesman

    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 top 5 * from mesaj order by id desc.




  • 
Sayfa: önceki 12
Sayfaya Git
Git
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.