如何使用 group by(基于一列)从表中选择多列,在 hive 查询中具有和计数

Posted

技术标签:

【中文标题】如何使用 group by(基于一列)从表中选择多列,在 hive 查询中具有和计数【英文标题】:how to select multiple column from the table using group by( based on one column) , having and count in hive query 【发布时间】:2020-09-17 14:01:56 【问题描述】:

要求: 使用 A 组并获取计数 > 1 的记录 例如:

SELECT count(sk), id, sk
FROM table x
GROUP BY id
HAVING COUNT(sk) > 1 

但我无法在 select 语句中选择 sk。有没有其他方法可以做到这一点。如何在这个input and output set attached here 上使用分区?

【问题讨论】:

可以使用解析函数。你的输入输出不清楚,请按照指引提问 【参考方案1】:

这样的事情,你可以做到。

select * from (
SELECT count(sk)over(partition by id) as cnt, id, sk
FROM table x) a
where a.cnt >1

【讨论】:

以上是关于如何使用 group by(基于一列)从表中选择多列,在 hive 查询中具有和计数的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 MySQL 查询从表中选择除一列之外的所有内容? [复制]

如何在 GROUP BY 和 ORDER BY 中使用多列但只有一列

推动从表中选择一列

GROUP BY 一列但不是同一表中的另一列-SQL [重复]

通过在Oracle中分组一列从表中选择数据

如何通过内部连接使用 group by