首页 > 解决方案 > 在Oracle中将数据集分组到一行

问题描述

我有这个数据库

date        val1   val2    val3   val4
29/07/20    null   12.11   null   null
29/07/20    22.91  null    null   null      
29/07/20    null   null    15.18  null
29/07/20    null   null    null   85.72

如何将以前的数据集转换为这个数据集

date       val1    val2    val3    val4
29/07/20   22.91   12.11   15.18   85.72

提前谢谢了 :)

标签: sqloracle

解决方案


您可以使用聚合:

select date, max(val1), max(val2), max(val3), max(val4)
from t
group by date;

以我的经验,没有人以这种格式存储真实的表格。此类表通常是聚合查询的结果,这些查询在group by. 您可能想问一个关于修复生成数据的查询的新问题。


推荐阅读