Flink SQL提供了行转列的功能,可以通过使用UNPIVOT操作来实现。UNPIVOT操作可以将行转换为列,它可以将一些列中的值逆规整到行上。
例如,假设我们有一个数据表,其中包含id、name和score_math、score_english、score_science等列,我们可以使用以下SQL语句将这些列转换为一列:
SELECT id, name, subject, score
FROM (
SELECT id, name, score_math, score_english, score_science
FROM student
) UNPIVOT (
score FOR subject IN (score_math, score_english, score_science)
)
这将把score_math、score_english、score_science这三列转换为一列,列名为subject,列值为相应的分数。