hive - 从hive中的子查询中获取值

标签 hive hiveql

我试图参数化配置单元中的值,而不是在查询中对其进行硬编码。以下是查询。

select * from employee where sal >30000

但是我需要将其来自如下相同的查询,而不是使用硬编码的 30000 值。但我遇到了问题:

select * from employee where sal > (select max(sal) from employee)

感谢任何帮助。

谢谢

最佳答案

您可以尝试使用这种形式的 Hive 查询。这将使员工的工资等于最高工资。

SELECT e1.* FROM employee e1 
JOIN
(SELECT MAX(sal) as max_sal FROM employee) e2
ON e1.sal = e2.max_sal;

示例:

Table: employee
id  fname   sal
1   AAA     15000
2   BBB     35000
3   CCC     12000
4   DDD     35000
5   EEE     9000

查询执行输出:

2   BBB     35000
4   DDD     35000

关于hive - 从hive中的子查询中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56447957/

相关文章:

hadoop - Apache Hive 安装在伪分布式或多节点集群环境

python - 在 hadoop 中加载大的日本文件

sql - 编写查询以获取要显示在每条记录上的相似 ID 的总和

shell - 通过 shell 运行 hive 命令获取错误

sql - HiveQL - 大数据的高效 geoip 发现

hadoop - HIVE 订单困惑数据

sql - 为什么在配置单元中使用变量会增加 18k 映射器?

apache-spark - Spark and Hive in Hadoop 3 : Difference between metastore. catalog.default and spark.sql.catalogImplementation

hadoop - 在HIVE中删除表格时出错

HIVE - INSERT OVERWRITE vs DROP TABLE + CREATE TABLE + INSERT INTO