【问题标题】:Performing a bitwise operation on all grouped by values in Presto对 Presto 中的所有按值分组的值执行按位运算
【发布时间】:2021-02-15 09:18:16
【问题描述】:

我需要对所有按值分组的对象执行BITWISE_OR
比如说,我在 group by 中的值是:100、010 和 110。我需要计算“100 或 010 或 110”,即 110。

所以我想做类似的事情:select col1, array_agg(col2) from table group by col1,然后对数组中的所有 col2 值应用bitwise_or。有一个函数bitwise_or_agg,但它不适用于数组。

感谢任何帮助!

【问题讨论】:

    标签: sql aggregate-functions presto trino bitwise-or


    【解决方案1】:

    bitwise_or_agg(x) 是一个聚合函数(返回所有输入值的按位“或”),使用它代替(或连同)array_agg:

    select col1, 
           array_agg(col2) as my_array, 
           bitwise_or_agg(col2) as my_array_bitwise_or
      from table group by col1
    

    【讨论】:

    • 啊啊啊!非常感谢您的热心帮助!
    猜你喜欢
    • 1970-01-01
    • 2019-12-18
    • 1970-01-01
    • 2014-02-19
    • 2019-11-08
    • 2014-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多