CDA131646

2023-08-24   阅读量: 10780

hiveMysql

hive QL里面,where>后面怎么加子查询

如下图,在oracle sql developer里面有一张商品价格表(字段bq是本期价格的意思)

现在要查询所有商品中价格大于所有商品平均价格的记录。

如果是在mysql里面可以这么写:

select * from tb where bq >(select avg(bq) as pingjun from (select jcmc,bq,1 as logo from tb) tmp group by logo);


但是Hive 里面的where 后面加子查询,好像不能用大于号。


咋整?各位 老铁指教指教。


1.jpg

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.0000 0 3 关注作者 收藏

评论(3)

ermutuxia
2023-08-29

把错误提示截下图,同时发一下截图对应的文字

0.0000 0 0 回复
ermutuxia
2023-08-29

你在执行代码的过程中有什么错误提示吗?

0.0000 0 0 回复
ermutuxia
2023-08-24

在Hive SQL中,可以使用子查询和聚合函数来查询所有商品中价格大于平均价格的记录。以下是一个示例查询:

SELECT *FROM your_tableWHERE price > (SELECT AVG(price) FROM your_table);

请将"your_table"替换为实际的表名,并确保该表包含一个名为"price"的列用于存储商品价格。这个查询将返回所有价格大于平均价格的商品记录。


0.0000 0 0 回复
CDA131646
2023-08-24

搞不定,执行不了。我用的oracle sql developer

0.0000 0 0 回复
CDA131646
2023-08-24

今晚试试。不过avg不用加group by 可行吗?好像没试过

0.0000 0 0 回复

推荐课程