Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [mysql] dubbio select

  1. #1
    Utente di HTML.it L'avatar di monoz
    Registrato dal
    Feb 2007
    Messaggi
    37

    [mysql] dubbio select

    Salve a tutti!
    Vorrei scrivere una select ma non sono molto bravo e quindi chiedo il vostro aiuto... (sia per riuscire ad averla che per imparare come farla!)

    Non sono sicuro di riuscire a descrivere come vorrei fare la select per cui provo con un esempio pratico.

    Questi sono i record che ho in tabella:

    titolo|notizia
    A | 1
    A | 2
    B | 3
    C | 4
    C | 5
    C | 12

    Io vorrei scrivere una select che gruppi per "titolo" ma che mi dia tutti i valori di notizia:

    A|1+2
    B|3
    C|4+5+12

    Come si può fare? (se si può...)

    Grazie anticipatamente e scusate tanto!

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    select titolo,group_concat(notizia order by notizia separator '+' )
    from tabella
    group by titolo
    Se non specifichi il separatore, di default viene utilizzata la virgola.

  3. #3
    Utente di HTML.it L'avatar di monoz
    Registrato dal
    Feb 2007
    Messaggi
    37
    Cacchio era così facile che c'era una funzione specifica!
    E io che mi stavo scervellando!
    Chiedo scusa ma non sapevo che mettere come ricerca anche su google e quindi ero andato totalmente fuori strada...

    Grazie mille!!!

  4. #4
    Utente di HTML.it L'avatar di monoz
    Registrato dal
    Feb 2007
    Messaggi
    37
    Problemino!
    Con la group_concat ho un problema quando la stringa è più lunga di tot caratteri!
    C'è un qualche limite? (o può essere solo colpa di un limite di lunghezza degli array in php?)

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    show variables like 'gr%'

    e verifica a quanto è settato il numero massimo di caratteri.

    Eseguendo

    set @@group_concat_max_len = x

    ne modifichi il numero.

  6. #6
    Utente di HTML.it L'avatar di monoz
    Registrato dal
    Feb 2007
    Messaggi
    37
    Mmmm grazie per la risposta anche se non ho capito come implementarlo nel mio programma...

    Ho provato a cambiare ricerca su google e ho trovato la soluzione che scrivo così che possa essere d'aiuto anche a qualcun altro che usa php!
    Ovviamente mi scuso visto che non è la sezione di php...

    Se non ci sono controindicazioni basta fare:

    "mysql_query("SET SESSION group_concat_max_len = 5000");"

    prima di eseguire la nostra query!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.