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
@Ruslan Pylypiuk
Postgresql 靈魂:
select id,regexp_split_to_table(listofnumbers,',') from test
Mysql靈魂:參考SQL將值拆分為多行
您可以使用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 | 數(shù)字列表 |
---|---|
2 | 1 |
2 | 2 |
2 | 5 |
2 | 6 |
2 | 7 |
5 | 1 |
5 | 2 |
5 | 13 |
5 | 51 |
5 | 12 |