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

    SQL - Raggruppare valori in categorie

    Salve ragazzi!
    Mi servirebbe una mano da voi esperti. Ho la seguente query:
    https://justpaste.it/k1qh (scusate, ma non mi fa inviare il post se la scrivo nel forum )

    Tale query restituisce una tabella di questo tipo:

    |section_name| topic_id |topic_name | landing_url | url
    Sezione 1 3245456frf Articolo1 http://url.com/111.html AAA.jpeg
    Sezione 2 32423tg34 Articolo1343 http://url.com/113445.html CCC.jpeg
    Sezione 33 345236 Articolo22 http://url.com/112331.html BBBBB.jpeg
    Sezione 113 33423ffdg Articolo232 http://url.com/113341.html AAA.jpeg


    Mi servirebbe raccogliere tali dati per url, in maniera tale che, se ci sono piu occorrenze dello stesso url, queste vengano riportate come segue:

    |section_name| topic_id |topic_name | landing_url | url
    Sezione 1, Sezione 113 3245456frf Articolo1, Articolo232 http://url.com/111.html,
    http://url.com/113341.html
    AAA.jpeg
    Sezione 2 32423tg34 Articolo1343 http://url.com/113445.html CCC.jpeg
    Sezione 33 345236 Articolo22 http://url.com/112331.html BBBBB.jpeg


    In sostanza vorrei vedere tutti i valori relativi ad un unico url riportati nella stessa riga, separati in qualche modo (virgola o a capo). Credo che si dovrebbe usare GROUP BY, ma non riesco a modificare la query in modo da utilizzare tale funzione. Potete aiutarmi? Database PostgreSQL.

    Grazie mille in anticipo!

  2. #2
    Ragazzi, nessuno? Altre idee?

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,337
    Non è un problema di GROUP BY ma di ORDER BY.

    Con php si puo' ordinare un array in ordine naturale con natsort, ma non so con postgres. Prova a cercare "natural sort postgresql".
    Se non trovi nulla di utile, un escamotage è possibile.
    Mettiamo che il campo section_name contiene 'Sezione xxx' con xxx da 1 a 999.

    ORDER BY substr(section_name, 9, 1), substr(section_name, 10, 1), substr(section_name, 11, 1)

    Non ho la possibilità di testare. Comunque l'idea è questa.

    Se i numeri vanno oltre a 999 bisognerà adattare la clausola ORDER BY.
    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

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