当前位置: 首页 > 面试题库 >

Hive SQL中的嵌套查询

马阳曦
2023-03-14
问题内容

我有一个数据库,并且使用查询来生成一个中间表,如下所示:

id    a      b    
xx    1      2    
yy    7      11

我想为a <avg(a)的用户计算b的标准偏差

我以这种方式计算avg(a),并且效果很好:

select avg(select a from (query to produce intermediate table)) from table;

但是查询:

select stddev_pop(b) 
from (query to produce intermediate table) 
where a < (select avg(select a 
                     from (query to produce intermediate table))
          from table);

返回一个错误,更准确地说,我被告知无法识别avg中的“ a”(选择a from …)。这使我感到非常困惑,因为它可以在上一个查询中使用。

如果有人可以帮助我,我将不胜感激。

编辑:

我将查询结果存储到临时表中以生成中间表,但仍然遇到相同的问题。无法使用的查询变为:

select stddev_pop(b) from temp where a < (select avg(a) from temp);

虽然这有效:

select avg(a) from temp;

问题答案:

好的,一位同事帮助我做到了。如果有人遇到相同的问题,我将发布答案:

select stddev_pop(b)
from temp x
join (select avg(a) as average from temp) y
where x.a < y.average;

基本上,配置单元不会将表作为变量进行缓存。



 类似资料:
  • 问题内容: 我想使用ES进行图书搜索。因此,我决定将作者姓名和标题(作为嵌套文档)放入索引,如下所示: 我不明白的是:如何构造搜索查询,以便在搜索“一二”时仅找到第二本书,而在搜索“二三”时什么也找不到,而在搜索“一”时所有图书呢? 问题答案: 也许是这样的? 该查询基本上说一个文件必须有and 。您可以轻松地重新配置该查询。例如,如果您只想搜索作者,请删除嵌套部分。如果您想要另一本书,请更改嵌套

  • 问题内容: 我在获取与Elasticsearch一起使用的嵌套查询时遇到问题(如果我删除了查询字符串之一,则可以使用)。我要解决的问题是我有一个包含关闭列表的文档(关闭)。我想在条件满足另一个值的闭包列表中搜索一个值。那只是从argan = 1的闭包中获得价值 我正在得到这个错误响应; 我的映射如下所示。 有人知道我在做什么错吗? 问题答案: 您的查询不是有效的查询。您需要使用适当的复合查询将其他

  • 问题内容: 这是我在elasticsearch中存储在索引上的数据类型。我必须找到包含主要成分牛肉(且重量小于1000)和成分-(辣椒粉且重量小于250),(橄榄油和重量小于300)以及所有其他成分类似的食谱。 索引的映射是 我的查询是 但这给了Null。有人可以帮我吗?我认为我没有正确使用嵌套查询 问题答案: 试试这个:

  • 有人能告诉我如何在敏捷中心的查询中嵌套查询吗?我试图过滤属于给定主动性下所有功能的所有故事。 因此,层次结构将是: 所以,我需要一个查询,其中我需要显示Epic/XYZ下的所有故事及其相应的功能

  • 和相应的查询解析器 这里的主要想法只是有一个过滤器,可以看到什么食谱有一些成分,用户会通过应用程序通知。 我使用数据库中的所有食谱获得了“recipe”查询,但我需要一个获取这些食谱的查询,然后使用field comprient进行筛选,例如: 食谱-糖蛋糕,配料:糖、蜂蜜、四个… 配方-天鹅绒蛋糕,配料:糖、香草、... 并且用户通知Sugar,API应该返回这2个食谱,但是如果用户通知Suga

  • 我正试图用jooq编写这个查询 我尝试了几件事,但没有成功。到目前为止,我只得到 如何将num列添加到结果中?感谢您的帮助。