如何规范化新列中的列值?

奥克萨纳灰色

我在表中的数据如下,val1,val2,val3是双重类型的。x表示记录具有旧值并y表示新值。(oldVal,newVal)所以我们需要根据 x 和 y 值连接各个 col 中的所有双精度值

ID,region,status,val1,val2,val3
1, aa,    x,    10,  11,  13
1, aa,    y,    12,  14,  15
2, bb,    x,    null,  null,  null
2, bb,    y,    null,  null,  null

预期输出,oldVal,newVal 是 varchar 类型

ID,region,oldVal,newVal
1, aa,10-11-13, 12-14-15
1, bb,null, null

如何进行反规范化以获得预期的输出?

注意:如果其中任何一个值为(val1, val2, val3)空值,则不应考虑空值。

1,2,null > 1-2
D-施

您可以尝试将条件聚合函数与CONCAT_WS函数一起使用。

SELECT ID,
       region,
       MAX(CASE WHEN status = 'x' THEN CONCAT_WS('-',val1,val2,val3) END) oldVal,
       MAX(CASE WHEN status = 'y' THEN CONCAT_WS('-',val1,val2,val3) END) newVal
FROM T
GROUP BY ID,region

sqlfiddle

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何计算熊猫数据框中的新“规范化”列?

如何规范化配置单元中的列?

如何选择一个列值,规范化并放入mysql中的另一列?

如何根据列值将规范化一分为二?

如何规范化数据框的列,而忽略其中的None值?

如何按列分组并进行规范化?

如何使用多个条件规范化 Pandas 数据列?

Zscore 使用 groupby 规范化 Dataframe 中的列

规范化R data.frame列中的数据

如何规范化数据框中包含 JSON 的列并获得完整的数据框

用Spark规范化列

R 规范化许多列

超级查询-规范化列

在Pandas中对数据进行非规范化:如何创建col_1,col_2等并将现有值添加到列中?

如何在 R 中使用正则表达式创建规范化公司名称的新列?

如何“非规范化”数据帧/从许多二进制列中创建一列

Pytorch中的规范化如何工作?

Python中的规范化如何执行?

使用R数据框中的值对另一个数据框的列进行规范化

通过将第一行减去多列中的每个值来规范化数据

在规范化的哪一步,我应该包括新的主键列

如何通过将以逗号分隔的文本从列中提取到子表中来规范化表?

如何对R中的数据进行规范化和非规范化?

bigquery中的规范化(静态):如何解决我的代码以获得规范化的数字?

如何规范化到序列中的上一个值

如何使用MinMaxScaler()将规范化应用于所有列,但排除类别?

如何将 CSV 列转换为规范化的 np 数组?

如何规范化记录?例如,几行相似的列

规范化Google表格中的数据-TRANSPOSE多列填充