Rumah  >  Soal Jawab  >  teks badan

MySQL: Panduan Membuka dan Mengubah Senarai

Saya mempunyai bingkai data yang diberikan:

id Senarai Nombor
2 [1,2,5,6,7]
5 [1,2,13,51,12]

Salah satu lajur hanyalah id dan satu lagi ialah senarai nombor seperti yang saya dapat daripada fail JSON sebelum ini, adakah cara untuk menukarnya kepada format ini hanya menggunakan MySQL?

id Senarai Nombor
2 1
2 2
2 5
2 6
2 7
5 1
5 2
5 13
5 51
5 12

Saya tahu ia boleh dilakukan dengan mudah menggunakan Python dan panda, tetapi dalam kes ini saya hanya perlu menggunakan MySQL, dan saya tidak tahu bagaimana untuk menukar senarai dalam MySQL

P粉103739566P粉103739566409 hari yang lalu458

membalas semua(2)saya akan balas

  • P粉786432579

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

    @Ruslan Pylypiuk

    Jiwa postgresql:

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

    Mysql Soul: RujukanSQL membahagikan nilai kepada beberapa baris

    balas
    0
  • P粉883223328

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

    Anda boleh menggunakan 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 Senarai nombor
    2 1
    2 2
    2 5
    2 6
    2 7
    5 1
    5 2
    5 13
    5 51
    5 12

    balas
    0
  • Batalbalas