recherche

Maison  >  Questions et réponses  >  le corps du texte

MySQL : Guide d'ouverture et de transposition de listes

J'ai une trame de données donnée :

id Liste des numéros
2 [1,2,5,6,7]
5 [1,2,13,51,12]

L'une des colonnes est juste l'identifiant et l'autre est une liste de nombres comme celle que j'ai obtenue du fichier JSON auparavant, existe-t-il un moyen de le convertir dans ce format en utilisant uniquement MySQL ?

id Liste des numéros
2 1
2 2
2 5
2 6
2 7
5 1
5 2
5 13
5 51
5 12

Je sais que cela peut être fait facilement en utilisant Python et pandas, mais dans ce cas j'ai juste besoin d'utiliser MySQL, et je ne sais pas vraiment comment transposer une liste dans MySQL

P粉103739566P粉103739566451 Il y a quelques jours497

répondre à tous(2)je répondrai

  • P粉786432579

    P粉7864325792023-09-08 12:08:28

    @Ruslan Pylypiuk

    Âme Postgresql :

    select 
    id,regexp_split_to_table(listofnumbers,',')
    from test

    Mysql Soul : RéférenceSQL divise la valeur en plusieurs lignes

    répondre
    0
  • P粉883223328

    P粉8832233282023-09-08 10:10:00

    Vous pouvez utiliser json_table()

    create table myTable(id int, listofnumbers varchar(200));
    insert into myTable values(2,   '[1, 2, 5, 6, 7]');
    insert into myTable values(5,   '[1, 2, 13, 51, 12]');
    select t.id, j.listofnumbers
    from myTable t
    join json_table(
      t.listofnumbers,
      '$[*]' columns (listofnumbers varchar(50) path '$')
    ) j;
    id Liste des numéros
    2 1
    2 2
    2 5
    2 6
    2 7
    5 1
    5 2
    5 13
    5 51
    5 12

    répondre
    0
  • Annulerrépondre