• 06-07-2021, 10:09:11
    #1
    Merhaba,

    Sql Sorgusu ile çekiyorum ama burada sorunum şu önce gruplama yapıp sonra sıralama yapıyorum sorguda ben sıralamada en son olan satırı göstersin istiyorum ama o ilk satırı getiriyor ne yapabilirim ?

    Kodum aşağıdaki Gibi ama Sorunumu çözemedim. Ne denediysem gruplama yaptığım için son gelen veriyi ekrana alamadım.

    SELECT u.name_surname ADSOYAD, u.user_Kavatar AVATAR, u.user_id UID, m.baslik BASLIK, m.mesaj_tarih TARIH, m.mesaj MESAJ, m.alan_durum ADURUM, m.token TOKEN from mesaj m LEFT JOIN user u on u.user_id = m.gonderen_id where alan_id=222 and m.gonderen_durum IN (1,2) GROUP BY m.token order by alan_durum ASC, m.mesaj_id DESC limit 0,6
  • 06-07-2021, 10:16:09
    #2
    order by alan_durum ASC Kısmını DESC olarak değiştirin. Aşağıdan yukarıya doğru sıralayacaktır. (Son satırı ilk sırada getirir)
  • 06-07-2021, 10:32:00
    #3
    sorgunun sonunda ikitane aynı şart koyulmuş yani;
    sorgu sonunda alan_durum alanını küçükten büyüğe sıralarken sorgu bitiminde m.mesaj_id büyükten küçüğe doğru sıralıyor.
    Bu nedenle ya tek order by kullanılır yada iç içe sorgu yazıp iki farklı sorgu çalıştırmalısın. bence
  • 06-07-2021, 11:00:15
    #4
    Sorun bunlarla ilgili değil İki Duruma Göre Sıralama yapabiliyorum grup by kullandığım için ilk önce sorun yaşıyorum yani bunlarla ilgili değil denedim bunları ama çözüm olmadı.
  • 06-07-2021, 12:17:35
    #5
    Adalente adlı üyeden alıntı: mesajı görüntüle
    Sorun bunlarla ilgili değil İki Duruma Göre Sıralama yapabiliyorum grup by kullandığım için ilk önce sorun yaşıyorum yani bunlarla ilgili değil denedim bunları ama çözüm olmadı.
    SELECT * FROM (SORGUNUZ)Query şeklinde dener misiniz
  • 06-07-2021, 13:43:12
    #6
    anlamadım ?

    Mufugo adlı üyeden alıntı: mesajı görüntüle
    SELECT * FROM (SORGUNUZ)Query şeklinde dener misiniz
  • 06-07-2021, 13:46:00
    #7
    Adalente adlı üyeden alıntı: mesajı görüntüle
    anlamadım ?
    Çalıştığım şirkette de SQL ile uğraşıyoruz neredeyse günün her saati. Hatta size yazarken bir yandan da sorgu yazıyorum. Bu problem ile 3-4 defa denk geldiğimizde bu şekilde çözdük hocam deneyebilir misiniz? Önerebileceğim son tavsiye budur.
  • 06-07-2021, 14:19:47
    #8
    SELECT * FROM (SORGUNUZ)Query

    Sorguyu anlamadım hocam

    Mufugo adlı üyeden alıntı: mesajı görüntüle
    Çalıştığım şirkette de SQL ile uğraşıyoruz neredeyse günün her saati. Hatta size yazarken bir yandan da sorgu yazıyorum. Bu problem ile 3-4 defa denk geldiğimizde bu şekilde çözdük hocam deneyebilir misiniz? Önerebileceğim son tavsiye budur.
  • 06-07-2021, 14:33:34
    #9
    Adalente adlı üyeden alıntı: mesajı görüntüle
    SELECT * FROM (SORGUNUZ)Query

    Sorguyu anlamadım hocam
    
     SELECT * FROM (SELECT u.name_surname ADSOYAD, u.user_Kavatar AVATAR, u.user_id UID, m.baslik BASLIK, m.mesaj_tarih TARIH, m.mesaj MESAJ, m.alan_durum ADURUM, m.token TOKEN from mesaj m LEFT JOIN user u on u.user_id = m.gonderen_id where alan_id=222 and m.gonderen_durum IN (1,2) GROUP BY m.token order by alan_durum ASC, m.mesaj_id DESC limit 0,6)Query
    
    Bu şekilde dener misiniz.