2012-03-19 13 views
6

Ho un commenti tabella MySQL in quel tavolo un campo è tag e tutti i tag sono separate da virgole comegruppo mysql da una virgola valori

Commenti Tabella

Name Reply Tags 
a  b  new,old,facebook,fb 
b  d  water,faebook,wall 
b  r  wall,php,fb 
c  q  name,facebook,email 
a  y  weather,cold,old 
a  w  twitter,next,pet,fb 

ho bisogno di ottenere separati tag più utilizzato in questa tabella con query mysql ..

+3

Considerare il refactoring della progettazione del database e memorizzare i tag per le combinazioni Nome/Risposta in una tabella separata, con una riga per ogni tag. –

+1

Dovresti _really_ provare a normalizzare la tua tabella, MySQL non è molto bravo a dividere le stringhe. La query è fattibile, ma non molto efficiente. –

+1

se non è possibile normalizzare il database, allora può essere fatto solo in livello di script php. – neeraj

risposta

3

Penso che l'approccio migliore sia utilizzare una tabella separata per i tag e per la relazione tra i tag e il proprio tavolo (es .: C ommentTags), ti consentirà di trovare rapidamente quei commenti che usano tag specifici, statistiche, ecc. Con il tuo approccio attuale, finisci per utilizzare una suddivisione delle stringhe per ogni riga, ogni volta.

Ora, se si è bloccati con il proprio approccio attuale, here è una domanda sulla divisione delle stringhe che potrebbe risultare utile. Ma prevedo una grande quantità di lamentele sulle prestazioni da parte degli utenti ...

+0

Grazie per la tua risposta veloce ma il mio database non è normalizzato, quindi posso ottenere questo .... @Joachim Isaksson come posso farlo in PHP .. –

Problemi correlati