• 01-01-2021, 20:58:14
    #1
    Selamlar, basit bir analiz script'i üstünde çalışıyorum. URL üstünden gelen ziyaretçinin ülkesini, ip adresini ve hangi urlden geldiğini veritabanında tutuyorum.

    Sütunlar şu şekilde.



    Her ülkeden gelen ip adresine göre çoğul ve tekil ziyaret sayısını bulmam gerek. Tüm kayıtlar satır satır bu sütunlara işleniyor.

    Script üstünde çok çalıştım sanırım bu yüzden tıkandım.

    Örneğin;

    Amerikadan 5 ziyaretçi gelmiş
    Almanyadan 10 ziyaretçi gelmiş
    Fransadan 20 ziyaretçi gelmiş

    Bu şekilde olduğunda toplamda 35 satır oluyor country sütunu mükerrer oluyor önce mükerrer olanları tek'e indirip sonra ip adreslerine göre her ülke için tekil ve çoğul ziyaretçiyi nasıl yakalarım ?

    Sonuç olarak şuna benzer bir şey olması gerek.

  • 02-01-2021, 12:46:12
    #2
    Mysql distinct ve group by ifadelerine bir bakmanı öneririm.
    Burada anlatmak saçma olabilir, senin okuyup anlaman ve ona göre sorgu yazman daha faydalı olacaktır.
  • 02-01-2021, 14:30:38
    #3
    soloturk adlı üyeden alıntı: mesajı görüntüle
    Mysql distinct ve group by ifadelerine bir bakmanı öneririm.
    Burada anlatmak saçma olabilir, senin okuyup anlaman ve ona göre sorgu yazman daha faydalı olacaktır.
    Onlara hakimim ancak bu işlemleri tek tabloda yapmak zormuş onu anladım. Trafik sayısını, ülkeyi ayrı tablolarda tutup inner join ile birbirine bağlayarak listeleme işlemini yaptım. Bir nokta da yine tıkandım listeleme işlemini üye id sine göre yapmam gerek inner join kullandığım sorguda where kullanınca listeleme yapmıyor.
  • 02-01-2021, 14:55:56
    #4
    Bezos adlı üyeden alıntı: mesajı görüntüle
    Onlara hakimim ancak bu işlemleri tek tabloda yapmak zormuş onu anladım. Trafik sayısını, ülkeyi ayrı tablolarda tutup inner join ile birbirine bağlayarak listeleme işlemini yaptım. Bir nokta da yine tıkandım listeleme işlemini üye id sine göre yapmam gerek inner join kullandığım sorguda where kullanınca listeleme yapmıyor.
    Sorguyu paylaş istersen, birlikte bakabiliriz.
  • 02-01-2021, 15:40:06
    #5
    soloturk adlı üyeden alıntı: mesajı görüntüle
    Sorguyu paylaş istersen, birlikte bakabiliriz.
    Çalışan bu şekilde

    SELECT * FROM country INNER JOIN stats ON country.id=stats.ulke_id INNER JOIN revenue ON country.id=revenue.ulke_id
    where eklediğimde çalışmıyor

    SELECT * FROM country INNER JOIN stats ON country.id=stats.ulke_id INNER JOIN revenue ON country.id=revenue.ulke_id WHERE stats.uye_id = 1