我有一个这样格式化的表格
年龄 | 身高 | 姓名 |
---|---|---|
15 | 180 | 乔治 |
16 | 192 | 菲尔 |
20 | 148 | 百合 |
17 | 187 | 乔治 |
19 | 196 | 菲尔 |
24 | 147 | 百合 |
19 | 190 | 乔治 |
20 | 199 | 菲尔 |
22 | 148 | 百合 |
21 | 190 | 乔治 |
27 | 197 | 菲尔 |
60 | 138 | 百合 |
我需要将数据转换成一种格式,其中每个名字都有一列,其中包含个人的身高,该行包含其他列的空白或空值,除了年龄和用户身高
我尝试了联合和连接的各种组合,但我似乎无法通过联合获得新的列,而且我似乎无法连接和保留数据,因为实际上没有年龄重叠(我需要保留所有数据,所以 ON 子句给我带来麻烦)
我能够从中获取数据的最接近的查询是
with aaa as (
SELECT age, height as "george" from table1 where name in ($GRAFANA_VARIABLE1),
bbb as SELECT age, height as "lily" from table1 where name in ($GRAFANA_VARIABLE2)
)
SELECT aaa.age, george, lily, from aaa FULL JOIN bbb on bbb.age = aaa.age
这导致
年龄 | 乔治 | 百合 |
---|---|---|
15 | 180 | |
空 | 空 | 148 |
17 | 187 | 空 |
空 | 空 | 147 |
19 | 190 | 空 |
空 | 空 | 148 |
21 | 190 | 空 |
空 | 空 | 138 |
这会丢失我的百合年龄数据。我知道我很接近,我还可以使用另一个查询将年龄数据保留在第二列中,我将 bbb 的年龄重命名为 age2,但是为了我使用的绘图工具的目的,x 轴数据必须全部存在于一个单一的列,y 轴上的每个系列也是它自己的列