Leggi gli ultimi interventi sul forum
 
You are here: Sky ForumWebSviluppo webPhpValori doppi in mysql
: 1 [2] 3
Valori doppi in mysql
Re: Valori doppi in mysql
« #15 : September 12, 2009, 12:52:23 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
Così?
Re: Valori doppi in mysql
« #17 : September 12, 2009, 02:13:49 pm »

Idem

Ma il count non te lo fa vedere senza having? Non riesce a contare?
Re: Valori doppi in mysql
« #18 : September 12, 2009, 05:32:28 pm »

Posta la tabella
Re: Valori doppi in mysql
« #19 : September 12, 2009, 11:58:08 pm »

Mediterraneo     
Aktivo    
GrandePuffo    
Floydian    
Biscegliese    
GnaGna    
Piccione    
mauro91    
Mediocre    79.18.23.118
Dolmen    79.18.23.118
BillGates    151.67.101.56

Io devo ottenere:
Mediterraneo     
Aktivo    
GrandePuffo    
Floydian    
Biscegliese    
GnaGna    
Piccione    
mauro91    
Mediocre    79.18.23.118
Dolmen    79.18.23.118
Re: Valori doppi in mysql
« #20 : September 13, 2009, 12:15:23 am »

Intendeva la struttura della tabella. La colonna delle chiavi quale sarebbe?  :?:
Re: Valori doppi in mysql
« #21 : September 13, 2009, 12:40:16 am »

Mi sa che ripiegherò su questa:
Code: (sql) [Select]
SELECT COUNT( * ) AS `Righe` , `reg_ip`
FROM `users_ss`
GROUP BY `reg_ip`
ORDER BY `reg_ip`

In questo modo vedo l'ip quante volte e ripetuto, invece che per username cerco gli utenti con l'ip duplicato e da li faccio gli eventuali controlli tramite un pannellino appositamente creato.

Vi ringrazio per l'aiuto!
Re: Valori doppi in mysql
« #22 : September 13, 2009, 12:47:50 am »

Mi sa che ripiegherò su questa:
Code: (sql) [Select]
SELECT COUNT( * ) AS `Righe` , `reg_ip`
FROM `users_ss`
GROUP BY `reg_ip`
ORDER BY `reg_ip`

In questo modo vedo l'ip quante volte e ripetuto, invece che per username cerco gli utenti con l'ip duplicato e da li faccio gli eventuali controlli tramite un pannellino appositamente creato.

Io ancora non capisco. Se fai il count poi che ne fai di questo? Sicuro che Having non abbia effetto? A me sembra molto strano. Inoltre credo che tu debba fare attenzione alla normalizzazione della tabella.
Re: Valori doppi in mysql
« #23 : September 13, 2009, 12:02:41 pm »

Questa è la struttura della tabella (è un po incasinata per quanto riguarda il tipo di campo):

Re: Valori doppi in mysql
« #24 : September 13, 2009, 12:45:10 pm »

Questa è la struttura della tabella (è un po incasinata per quanto riguarda il tipo di campo):

Ma chi l'ha fatta? Non vedo un campo di chiave primaria univoca... Devi almeno esere in prima forma normale.
Re: Valori doppi in mysql
« #25 : September 13, 2009, 12:57:32 pm »

Metto un campo ID e lo setto come chiave primaria?
Re: Valori doppi in mysql
« #26 : September 13, 2009, 01:53:46 pm »

Metto un campo ID e lo setto come chiave primaria?

E mi sembra una cosa più che ovvia.  ;) Studia bene la normalizzazione prima di creare una qualsiasi tabella di un database. Inoltre devi evitare come la peste la ridondanza dei dati.  :comp:
Re: Valori doppi in mysql
« #27 : September 13, 2009, 02:42:40 pm »

Metto un campo ID e lo setto come chiave primaria?

E mi sembra una cosa più che ovvia.  ;) Studia bene la normalizzazione prima di creare una qualsiasi tabella di un database. Inoltre devi evitare come la peste la ridondanza dei dati.  :comp:
Ok ti ringrazio! Per quanto riguarda il problema degli ip a doppio io ho pensato di vedere quanti ip si ripetono per più di una volta (con php) e segnalo i rispettivi ip con una mail.
  • Wolf
  • ingegno
  • user
  • *
  • Offline Offline
  • : 70
  •  
Re: Valori doppi in mysql
« #28 : September 14, 2009, 02:10:04 am »

Mediterraneo     
Aktivo    
GrandePuffo    
Floydian    
Biscegliese    
GnaGna    
Piccione    
mauro91    
Mediocre    79.18.23.118
Dolmen    79.18.23.118
BillGates    151.67.101.56

Io devo ottenere:
Mediterraneo     
Aktivo    
GrandePuffo    
Floydian    
Biscegliese    
GnaGna    
Piccione    
mauro91    
Mediocre    79.18.23.118
Dolmen    79.18.23.118

Per ottenere questo risultato basta usare la seguente query

Code: (sql) [Select]
SELECT *
FROM users_ss
WHERE reg_ip
IN (
SELECT reg_ip   
FROM users_ss
GROUP BY reg_ip
HAVING COUNT(reg_ip) > 1)

Saluti   :)

P.s. Quoto skydiamond per la normalizzazione
« : September 14, 2009, 02:15:24 am Wolf »
Re: Valori doppi in mysql
« #29 : September 14, 2009, 11:02:46 am »

Tabella normalizzata inserendo un campo ID con auto_increment e impostato come indice.
: 1 [2] 3
You are here: Sky ForumWebSviluppo webPhpValori doppi in mysql
: