sql - 使用 group by 从 hive 表中删除重复项
问题描述
我有一个这样的表。a,b,c,d,e 是表的列
我想在 group by(d,e) 的组合上找到不同的记录并对表进行一些操作最终表应该删除重复的键。
决赛桌应如下所示
我做了一个类似的查询
SELECT *
FROM (SELECT a+"cis" as a_1,
b+"cis1" as b_1,
c as c_1,
d+"cis2" as d_1,
e as e_1
ROW_NUMBER() OVER (PARTITION BY d, e order by d,e) as cnt
FROM table1
) x
WHERE cnt = 1;
我得到的结果像
我怎样才能得到实际的结果
提前致谢
解决方案
我想我找到了解决方案
SELECT concat(x.a,"cis") as a_1,concat(x.b,'cis1') as b_1,x.c as c_1,
concat(x.d,'cis2') as d_1,x.e as e_1 FROM (SELECT a,b,c,d,e,
ROW_NUMBER() OVER (PARTITION BY d, e order by d,e) as cnt FROM table ) x
WHERE cnt = 1
推荐阅读
- helper - 如何计算二维表中的总数?
- reactjs - 在 VS Code 扩展 web 视图中发出 GET 请求时出现证书错误
- javascript - TypeScript 和 Jest - 自动创建完整的模拟?
- java - 意外按下不允许安装应用程序并记住 - Android Studio
- javascript - for循环和forEach循环在ejs中不起作用
- android - 您可以动态地将对象转换为类吗?
- javascript - 我需要一种方法来制作多个文本输出 onclick 按钮
- python - 我的代码 linreg.predict() 没有给出正确答案有什么问题?
- javascript - 当类被 javascript 删除时,转换不起作用
- bootstrap-vue - 在 Bootstrap-Vue 中的表单文件输入中防止默认(显示文件对话框)