• 22-10-2021, 22:21:41
    #1
    merhaba arkadaşlar bir sql sorgusu sormak istiyorum araştırdım ancak bulamadım.

    Elimde kullanıcılar tablosu var diyelim

    Username ve ip adresi sütunları olsun.

    her kullanıcının ip adresi otomatik kayıt oluyor.

    ip adresi sütunu aynı olan kullanıcıların tamamını listelemek istiyorum.

    şimdiden yardımlarınız için teşekkrüler.
  • 22-10-2021, 22:24:09
    #2
    $ipcek=$db->query("select * from kullanicilar where ip!=' ' ")->fetchAll(PDO::FETCH_ASSOC);
    foreach($ipcek as $ipgoster){

    $ipgoster['kullanici_adi'];

    }
  • 22-10-2021, 22:28:14
    #3
    SELECT u1.ip, u1.kullaniciadi, u2.total
    FROM kullanicilar u1
    INNER JOIN
    (
        SELECT ip, COUNT(*) AS total
        FROM kullanicilar
        GROUP BY ip
    ) u2
    ON u1.ip = u2.ip
    ORDER BY u2.total DESC
    http://sqlfiddle.com/#!9/f64a70/1
  • 22-10-2021, 22:35:20
    #4
    Misafir
    select ip_adresi,count(ip_adresi) as ip_sayisi from kullanicilar group by ip_adresi

    bu sorgu işini görücektir çıktısı

    ip_adresi ip_sayisi
    ip_adresi kaç kayıt olduğu
  • 22-10-2021, 22:48:28
    #5
    muhammedaksam adlı üyeden alıntı: mesajı görüntüle
    SELECT u1.ip, u1.kullaniciadi, u2.total
    FROM kullanicilar u1
    INNER JOIN
    (
        SELECT ip, COUNT(*) AS total
        FROM kullanicilar
        GROUP BY ip
    ) u2
    ON u1.ip = u2.ip
    ORDER BY u2.total DESC
    http://sqlfiddle.com/#!9/f64a70/1
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'COUNT(*) AS total
    FROM ips
    GROUP BY ip
    ) u2
    ON u1.ip = u2...' at line 5


    desteğiniz için teşekkür ederim
    böyle bir hata aldım hocam
  • 22-10-2021, 22:49:02
    #6
    Misafir adlı üyeden alıntı: mesajı görüntüle
    select ip_adresi,count(ip_adresi) as ip_sayisi from kullanicilar group by ip_adresi

    bu sorgu işini görücektir çıktısı

    ip_adresi ip_sayisi
    ip_adresi kaç kayıt olduğu
    hocam aslında benim amacım birden fazla ip adresi kullanan kullanıcıları tespit etmek bu işime yaramadı teşekkür ederim kod için.
  • 22-10-2021, 23:04:28
    #7
    Misafir
    mahmutk adlı üyeden alıntı: mesajı görüntüle
    hocam aslında benim amacım birden fazla ip adresi kullanan kullanıcıları tespit etmek bu işime yaramadı teşekkür ederim kod için.

    çıktı almak istiyorsan şöyle bişey yazabilirsin alttaki kodu kendine göre düzenleyebilirsin



    $sorgu=$db->prepare("select ip_adresi,count(ip_adresi) as ip_sayisi from kullanicilar group by ip_adresi");
    $sorgu->execute();
    $sorgular=$sorgu->fetchAll();
    foreach ($sorgular as $sorgularim){

    if($sorgularim['ip_sayisi']>='2') {

    echo '1 den fazla kaydı olan ipler'.'<br>';
    echo $sorgularim['ip_adresi'].'<br>';

    }
    }


    Ayrıca phpmyadmin listeleme kodun :

    SELECT ip_adresi, count(ip_adresi) AS ip_sayisi FROM kullanicilar GROUP BY ip_adresi HAVING ip_sayisi >1 ORDER BY ip_adresi ASC
  • 23-10-2021, 06:03:10
    #8
    SELECT kullanici_id,COUNT(DISTINCT(ip_adres))
    FROM kullanicilar
    GROUP BY kullanici_id
    having COUNT(DISTINCT(ip_adres))>1
  • 23-10-2021, 06:09:22
    #9
    Misafir adlı üyeden alıntı: mesajı görüntüle
    çıktı almak istiyorsan şöyle bişey yazabilirsin alttaki kodu kendine göre düzenleyebilirsin



    $sorgu=$db->prepare("select ip_adresi,count(ip_adresi) as ip_sayisi from kullanicilar group by ip_adresi");
    $sorgu->execute();
    $sorgular=$sorgu->fetchAll();
    foreach ($sorgular as $sorgularim){

    if($sorgularim['ip_sayisi']>='2') {

    echo '1 den fazla kaydı olan ipler'.'<br>';
    echo $sorgularim['ip_adresi'].'<br>';

    }
    }


    Ayrıca phpmyadmin listeleme kodun :

    SELECT ip_adresi, count(ip_adresi) AS ip_sayisi FROM kullanicilar GROUP BY ip_adresi HAVING ip_sayisi >1 ORDER BY ip_adresi ASC
    Teşekkür ederim kodlar için, elinize sağlık