hive - Hive:在特定行中添加具有重复特定列的值的列?
问题描述
我在 Hive 中有一张看起来像这样的表,名为Products
.
'Root Product | Product | Date
A A 2012
A B 2013
A C 2013
D D 2014
D E 2015
是否可以添加第四列,重复列中存在的日期值Date
(Root Product == Product
根产品的日期)?这样
'Root Product | Product | Date | Root Date
A A 2012 2012
A B 2013 2012
A C 2013 2012
D D 2014 2014
D E 2015 2014
解决方案
使用max
窗口函数。
select root_product
,product
,date
,max(case when root_product = product then date end) over(partition by root_product) as root_date
from tbl
推荐阅读
- python-venv - 升级到 Ubuntu 20.04 后 venv 上的 ModuleNotFoundError
- c - 仅使用 const 编译 C
- php - mysql_connect():服务器向客户端发送未知字符集(255)
- c# - 生成 Microsoft 伪造品时出现 NullReferenceException 阻止编译
- regex - 使用正则表达式在句子中查找标题大小写
- r - 如何计算高维回归统计
- python - Discord.py - 无限循环问题
- javascript - 从 file:// 运行 Svelte 应用程序,无需服务器
- python - 具有多个 StyledItemDelegateForColumn 的 QAbstractTableModel 和 QTableView 使我的应用程序崩溃
- algorithm - 如何找到边权重总和最大的最小路径?