如何将存储列名和列值的一个 n 行 2 列的表,转换为 n 列 1 行的表


attachments-2023-05-GnWetjlm6475742eb9de1.png请问我有这样一个表,我想把它id 列变成col 然后value变成一行的值,请问用什么函数可以实现?

请先 登录 后评论

1 个回答

veryOrdinary

拼接一个常量列后,利用 pivot by 即可实现,如:

syms=`600300`600400`600500$SYMBOL
sym=syms[0 1 2]
time=09:40:00+1 30 65
price=172.12 170.32 172.25 
volume=100 * 10 3 7 8 25 6 10 4 5 1 2 8 6 10 2 2 5 5 4 4 3
t1=table(sym, price );
t1;
addColumn(t1, 'sample', 1)
select price from t1 pivot by sample,sym

output:

sample 600300              600400              600500
------ ------------------- ------------------- ------
       172.120000000000004 170.319999999999993 172.25



请先 登录 后评论