繁体   English   中英

如何将子查询结果作为另一个查询的列名返回?

[英]How do I return a subquery result as a column name for another query?

我正在尝试为配置单元中的视图计算记录数的平均值/最小值/最大值

select avg(rec_count), max(rec_count), min(rec_count)

并尝试实现类似:

select avg(rec_count), max(rec_count), min(rec_count)
where rec_count in 
(select count(record_number) as rec_count from archives
group by record_number);

但是我收到一条错误消息:

失败:SemanticException行0:-1在SubQuery sq_1的定义中无效的列引用'rec_count'[在rec2count中(从counter_number中选择来自记录组的rec_count选择count(record_number)作为rec_count)]在第2:18行用作sq_1

我想知道是否可以在不必创建包含原始表的分组/汇总值的另一个表/视图的情况下执行此操作。

样本数据:

大段引用

记录号3031有4条记录,4050有6条记录,所以我希望从查询中得到的预期结果是:

平均= 5分钟= 4最大= 6

我认为您想要类似的东西:

select avg(rec_count), max(rec_count), min(rec_count)
from (select record_number, count(*) as rec_count
      from archives
      group by record_number
     ) a

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM