縦持ちのTable
横持ちのTable
◆縦→横
SELECT uid,
max(CASE WHEN key = 'c1' THEN value END) AS c1,
max(CASE WHEN key = 'c2' THEN value END) AS c2,
max(CASE WHEN key = 'c3' THEN value END) AS c3
FROM table_name
GROUP BY uid;
结果
uid c1 c2 c3
--- -- -- --
101 11 12 13
102 21 22 23
◆横→縦
SELECT uid, 'c1' AS key, c1 AS value FROM table_name
UNION ALL
SELECT uid, 'c2' AS key, c2 AS value FROM table_name
UNION ALL
SELECT uid, 'c3' AS key, c3 AS value FROM table_name
;
结果
uid key value
--- --- -----
101 c1 11
102 c1 21
101 c2 12
102 c2 22
101 c3 13
102 c3 23
其余DB
Presto:Interactive SQL query engine for Big Data
- reference link:https://tug.red/entry/2014/07/10/150250/
Hive: not interactive. too slow
Pandas
SparkSQL
◆ 以上来源于Qiita(キータ)
2011年に当時大学生であった海野弘成らにより公開された。 2016年現在で日本最大のプログラマーコミュニティとされている
https://qiita.com/
企業向けのQiita::Teamもある。