大佬教程收集整理的这篇文章主要介绍了如何在重复值列中检索 5 个最大的数字?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用 sql 查询来查找嵌套表中的 3 个最大数字。如果每个重复值的计数小于 5,则列出尽可能多的值。 所以这是嵌套表:
所以我想为每个 CompanyId 检索 3 个最大的年龄
SELEct CompanyId,customer
from test.table,unnest(customer) as c
order by c.age
limit 3
但限制不会改变任何东西我也尝试添加一个 where 子句 where c.age>25
作为示例,但我注意到条件根本不起作用。
任何提示将不胜感激。
考虑以下解决方案(不需要额外的组)
SELEct * replace (
array(SELEct as struct * FROM t.customer order by age desc limit 5)
as customer)
from `project.dataset.table` t
,
试试array_agg:
SELEct
CompanyId,array_agg(struct(c.name,c.agE) order by c.age desc limit 3)
from test.table,unnest(customer) as c
group by 1
以上是大佬教程为你收集整理的如何在重复值列中检索 5 个最大的数字?全部内容,希望文章能够帮你解决如何在重复值列中检索 5 个最大的数字?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。