Segui skydiamond.org anche su Twitter
 
You are here: Sky ForumWebSviluppo webPhpValori doppi in mysql
: [1] 2 3
Valori doppi in mysql
Valori doppi in mysql
« : September 12, 2009, 11:52:24 am »

Ciao a tutti!
Vi spiego subito la mia situazione:
Ho un campo con tutti gli IP e un altro campo con gli username.
Ora dovrei trovare tutti gli utenti con lo stesso IP in modo da avere una situazione del genere:
----------------------------
| 127.0.0.1   | pippo      |
| 127.0.0.1   | reloweb    |
| 127.0.0.1   | franco     |
| 127.0.0.1   | tizio      |
| 192.168.0.1 | caio       |
| 192.168.0.1 | sempronio  |
| 192.168.0.1 | mario      |
----------------------------

Come faccio? Se uso il parametro group by IP mi escono i singoli ip e in questo modo non conosco gli username che hanno l'ip duplicato.
Re: Valori doppi in mysql
« #1 : September 12, 2009, 11:55:29 am »

Ma usare solo order by?  :?:
Re: Valori doppi in mysql
« #2 : September 12, 2009, 11:58:06 am »

Order by mi da gli ip ordinati, ma non solo quelli a doppio!
Io voglio solo quelli a doppio.
Re: Valori doppi in mysql
« #3 : September 12, 2009, 12:04:46 pm »

Order by mi da gli ip ordinati, ma non solo quelli a doppio!
Io voglio solo quelli a doppio.

Solo quelli che si ripetono?  :?:
Re: Valori doppi in mysql
« #4 : September 12, 2009, 12:05:36 pm »

Order by mi da gli ip ordinati, ma non solo quelli a doppio!
Io voglio solo quelli a doppio.

Solo quelli che si ripetono?  :?:
Si
Re: Valori doppi in mysql
« #5 : September 12, 2009, 12:09:41 pm »

Code: (sql) [Select]
SELECT COUNT(*) AS NumeroRipetizioni, Col1, Col2
FROM  TABELLA
GROUP BY Col1, Col2

 :?:
Re: Valori doppi in mysql
« #6 : September 12, 2009, 12:12:23 pm »

Code: (sql) [Select]
SELECT COUNT(*) AS NumeroRipetizioni, Col1, Col2
FROM  TABELLA
GROUP BY Col1, Col2

 :?:
No mi da comunque l'ip che non è duplicato...
Re: Valori doppi in mysql
« #7 : September 12, 2009, 12:18:11 pm »

Code: (sql) [Select]
SELECT COUNT(*) AS NumeroRipetizioni, Col1, Col2
FROM  TABELLA
GROUP BY Col1, Col2

 :?:
No mi da comunque l'ip che non è duplicato...

E allora ci vuole la join mi sa. Dopo il where devi mettere una select dei valori con un count. Ora vedo un attimo.
Re: Valori doppi in mysql
« #8 : September 12, 2009, 12:20:47 pm »

Code: (sql) [Select]
select * from t as tab1 join t as tab2 on tab1.ip=tab2.ipcredo... :D
Re: Valori doppi in mysql
« #9 : September 12, 2009, 12:23:28 pm »

Scusa... leggo solo adesso che ti interessa il numero delle volte che si duplica l'ip... sorry :P
Re: Valori doppi in mysql
« #10 : September 12, 2009, 12:26:24 pm »

Code: (sql) [Select]
select * from t as tab1 join t as tab2 on tab1.ip=tab2.ipcredo... :D
I miei campi sono username e reg_ip (dove stanno tutti gli ip) e la tabella si chiama users_ss.
Re: Valori doppi in mysql
« #11 : September 12, 2009, 12:28:22 pm »

I miei campi sono username e reg_ip (dove stanno tutti gli ip) e la tabella si chiama users_ss.

Ma il codice che ho scritto prima che risultato ti da?  :?:
Re: Valori doppi in mysql
« #12 : September 12, 2009, 12:33:25 pm »

Ti posto direttamente i risultati:
1           Aktivo
1         Biscegliese
1         Floydian
1         GnaGna
1         GrandePuffo
1         mauro91
1         Mediterraneo
1         Piccione
1    151.62.4.65    BillGates
1    79.18.23.118    Dolmen
1    79.18.23.118    Mediocre

Dove c'è lo spazio vuoto vuol dire che il campo è vuoto, però comunque sono duplicati.
Io in pratica dovrei cercare i duplicati e per ogni gruppo di duplicati devo far inviare una mail con su scritti tutti gli username e l'ip in comune.
Re: Valori doppi in mysql
« #13 : September 12, 2009, 12:39:54 pm »

Ti posto direttamente i risultati:
1           Aktivo
1         Biscegliese
1         Floydian
1         GnaGna
1         GrandePuffo
1         mauro91
1         Mediterraneo
1         Piccione
1    151.62.4.65    BillGates
1    79.18.23.118    Dolmen
1    79.18.23.118    Mediocre

Dove c'è lo spazio vuoto vuol dire che il campo è vuoto, però comunque sono duplicati.
Io in pratica dovrei cercare i duplicati e per ogni gruppo di duplicati devo far inviare una mail con su scritti tutti gli username e l'ip in comune.

Si può cercare di selezionare con Group By imponendo una condizione con Having.

Code: (sql) [Select]
SELECT COUNT(*) AS NumeroRipetizioni, reg_ip, username
FROM  TABELLA
GROUP BY reg_ip, username
HAVING NumeroRipetizioni > '1';
Re: Valori doppi in mysql
« #14 : September 12, 2009, 12:50:18 pm »

0 righe restituite.
Questa è la query:
Code: (sql) [Select]
SELECT COUNT(*) AS NumeroRipetizioni, reg_ip, username
FROM  users_ss
GROUP BY reg_ip, username
HAVING NumeroRipetizioni > '1'
: [1] 2 3
You are here: Sky ForumWebSviluppo webPhpValori doppi in mysql
: