Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Mysql - Group by di una singola colonna con valori multipli

    Ciao a tutti,

    ho il seguente DB

    ID CAT TITLE TEXT
    1 1 titolo articolo lorem ipsum...
    2 1,3 titolo altro articolo lorem ipsum...






    CAT 1: abbigliamento
    CAT 3: accessori

    dovrei fare una select con Group by CAT in modo da raggruppare gli articoli per categorie per ottenere il seguente risultato:

    abbigliamento (2 articoli)
    accessori (1 articoli)

    Con un valore singolo nel campo CAT la soluzione è semplice, ma come potete vedere il campo CAT può avere categorie multiple.

    Grazie mille per l'aiuto


  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Mamma mia. Che strana idea strutturare i dati in questo modo. Se uno dei miei programmatori venisse a trovarmi con un'idea simile lo manderei a .... BIP....
    Comunque la vedo dura con sole query.
    Quante categorie puoi avere in un unico campo CAT ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    fai prima a riprogettare il db

  4. #4
    Dovrei inserire 3 categorie.

    Il DB lo sto progettando adesso, appunto per una gestione migliore, preferisco fare una sola colonna e inserire dentro i dati che poi attraverso un array me li ciclo e recupero i valori.

    Se avete idee migliori per associare più categorie ad un risultato accetto consigli

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da carmelo86 Visualizza il messaggio
    Dovrei inserire 3 categorie.

    Il DB lo sto progettando adesso, appunto per una gestione migliore, preferisco fare una sola colonna e inserire dentro i dati che poi attraverso un array me li ciclo e recupero i valori.

    Se avete idee migliori per associare più categorie ad un risultato accetto consigli
    Ti rispondi da solo. Se hai bisogno di fare un ciclo,con php immagino, perchè SQL ti consentirebbe di fare a meno ?
    Comunque sbagli strada. Fossi in te farei una tabella con id e cat come chiave primaria.
    codice:
    ID. CAT
    === ===
    1     1
    2     1
    2     3
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    Ho una tabella chiamata categoria con ID e NOME
    Ho un altra tabella chiamata "annunci" con un campo CAT che corrisponde all' ID delle categorie.

    il problema è che ogni annuncio può avere più categorie associate, quindi devo pur salvarle in qualche modo (io ho pensato separandole da virgola)

    Con categoria singola farei semplicemente: select CAT, count(ID) as TOTALE from annunci Group by CAT

    il problema che mi pongo si può fare una Group by di una singola colonna ma con valori multipli?

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Devi avere una tabella annunci con id e una tabella cat_annunci che contiene l'id di annunci e la categoria. Puoi fare come fai finora ma devi passare per del codice per fare le somme.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  8. #8
    uh vediamo non è male come idea. Ci provo anche se preferivo memorizzare quello che riguarda gli annunci solo su una tabella cosi da non dover fare molti update e delete in varie tabelle. grazie mille

  9. #9
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da carmelo86 Visualizza il messaggio
    uh vediamo non è male come idea. Ci provo anche se preferivo memorizzare quello che riguarda gli annunci solo su una tabella cosi da non dover fare molti update e delete in varie tabelle. grazie mille
    Come scritto prima. Se lavorassi per me e venissi con quell'idea del campo con valori multipli ti avrei mandato a quel paese.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  10. #10
    XD ho applicato il tuo sistema. direi che è ottimo. Con qualche join riesco a fare totali e a raggruppare dati tra le tabelle.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.