选择最大查询返回 Apache Hive 中表中的所有行

Posted

技术标签:

【中文标题】选择最大查询返回 Apache Hive 中表中的所有行【英文标题】:Select max query returning all the rows in a table in Apache Hive 【发布时间】:2021-09-26 13:57:29 【问题描述】:

我正在使用此查询查询我的数据

SELECT date_col,max(rate) FROM crypto group by date_col ;

我期待单行,但它返回表中的所有行。这个查询有什么错误?

【问题讨论】:

【参考方案1】:

每个date_col 将获得一行,因为您按它进行分组。如果您只想要最大的rate,那么只需执行SELECT max(rate) FROM crypto;

如果您也想获得该记录的date_col,那么:

SELECT 
  date_col,
  rate
FROM crypto
WHERE rate = (SELECT MAX(rate) FROM crypto)

【讨论】:

不,我也想要对应的日期。 然后您需要执行一次查询以获取max(rate),然后再执行一次查询以获取给定max(rate)date_col。我已经更新了答案。 谢谢。它奏效了。

以上是关于选择最大查询返回 Apache Hive 中表中的所有行的主要内容,如果未能解决你的问题,请参考以下文章

查询中的 Hive DATE 操作

Hive错误:FAILED:执行错误,从org.apache.hadoop.hive.ql.exec.mr.MapRedTask返回代码2

失败:执行错误,从 org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask​​ 返回代码 1

Hive 嵌套的 get_json_object 在选择查询中工作正常,但在创建表中返回 null 作为选择查询 - 奇怪的行为

从日期小于最大日期的 Hive 表中选择

Hive / Hue 视图从最新分区(年/月/日)返回所有行