suchen

Heim  >  Fragen und Antworten  >  Hauptteil

MySQL: Leitfaden zum Öffnen und Transponieren von Listen

Ich habe einen bestimmten Datenrahmen:

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

Eine der Spalten ist nur die ID und die andere ist eine Liste von Zahlen, wie ich sie zuvor aus der JSON-Datei erhalten habe. Gibt es eine Möglichkeit, sie nur mit MySQL in dieses Format zu konvertieren?

id Nummernliste
2 1
2 2
2 5
2 6
2 7
5 1
5 2
5 13
5 51
5 12

Ich weiß, dass dies mit Python und Pandas problemlos möglich ist, aber in diesem Fall muss ich nur MySQL verwenden, und ich weiß nicht wirklich, wie ich eine Liste in MySQL umsetzen soll

P粉103739566P粉103739566449 Tage vor492

Antworte allen(2)Ich werde antworten

  • P粉786432579

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

    @Ruslan Pylypiuk

    Postgresql 灵魂:

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

    Mysql灵魂:参考SQL将值拆分为多行

    Antwort
    0
  • P粉883223328

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

    您可以使用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 数字列表
    2 1
    2 2
    2 5
    2 6
    2 7
    5 1
    5 2
    5 13
    5 51
    5 12

    Antwort
    0
  • StornierenAntwort