sql - 对 Presto 中的所有按值分组的值执行按位运算
问题描述
我需要BITWISE_OR
对所有按值分组的内容执行 a 。
比如说,我在分组依据中的值是:100、010 和 110。我需要计算“100 或 010 或 110”,即 110。
所以我想做类似的事情:select col1, array_agg(col2) from table group by col1
,然后应用于bitwise_or
数组中的所有 col2 值。有一个 function bitwise_or_agg
,但它不适用于数组。
任何帮助表示赞赏!
解决方案
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
推荐阅读
- azure-pipelines - Azure Build Pipelines - 作业以随机顺序运行
- c# - 使用边框上的子控件调整无边框 WinForm 的大小
- sql - 从sql server中的字符串中提取所有十进制值
- python - 将 Cython 头文件导入 C 代码并用 Xcode 编译
- azure - 导入状态返回消息而不是状态
- r - R匹配来自不同列表的变量
- visual-studio - 无法在 Visual Studio 中打开 DevExpress 8.2 版的设计器
- testing - Selector 的 Testcafe .parent() 在超时前偶尔会失败
- python - 将列表与列表中的多个列表进行比较
- php - Apache php:对 curl_init() 的未定义调用