• 16-09-2020, 21:23:43
    #1
    Merhaba, bu kodda birden fazla aynı değere sahip olanları tek bir kere listelemek için ne yapabilirim? distinct kullanamıyorum..

    SELECT COUNT(id) total FROM `books` b join yorum y on b.id = y.yorum_kitap WHERE b.status = '1'
  • 16-09-2020, 21:50:57
    #2
    Birazdaha bilgi vermen lazım tekrar eden nedir nasıl bi çıktı görmek istiyonuz
  • 17-09-2020, 12:15:33
    #3
    @darness; yorum tablosunda aynı kitaba birden fazla yorum yapılmakta. Sayfalama yaparken kitapları listelediğim alanda aynı ıd ye eşit kitapları distinct ile tek bir kere listeletebiliyorum. Ancak yukarıda yazdığım sorgu sayfalama yaparken kullandığım sorgu ve burada distinct kullanamıyorum. Yani yorum sütununda ki yorum_kitap olan idleri tek bir kere saydırmam gerekli ve yukarıda ki sorgu aynı ıd değerlerini de saymakta
  • 17-09-2020, 12:34:23
    #4
    Doğru anladıysam neden distinct kullanmaya çalışıyorsunuz , kitapları sıralarken aynı sorguda kitaba yapılan yorum sayısını mı çekmek istiyorsunuz ?

    Eğer yukarıda dediğim gibiyse

    select b.* , (select count(id) from yorum where yorum_kitap = b.id) as yorum_sayisi FROM books  as b WHERE b.status = '1'
    şeklinde kitapları listelerken yorum_sayisi nıda alabilirsiniz.