gpt4 book ai didi

postgresql - 聚合函数 bool_or() 是否有等效的 PostgresSQL 窗口函数(或替代过程)?

转载 作者:行者123 更新时间:2023-11-29 12:52:49 26 4
gpt4 key购买 nike

给定以下数据:

select a,b from newtable;
a | b
---+---
a | f
a | f
a | f
b | f
b | f
b | t
(6 rows)

声明

select a, bool_or(b) from newtable group by a;
a | bool_or
---+---------
a | f
b | t

将为每个不同的值生成一行(正如聚合函数所期望的那样)。

我正在寻找一个等效的 window function但是在 PostgreSQL 中似乎没有这样的功能。有什么办法可以得到相同的结果吗?需要说明的是,我一直在寻找这个结果:

 a | bool_or
---+---------
a | f
a | f
a | f
b | t
b | t
b | t

最佳答案

尽管 bool_or() 没有在 PostgreSQL documentation page for window functions 中明确列出你仍然可以使用 aggregate functionsbool_or() 或 windows 上的任何内置函数。

在窗口函数文档中是这样说的:

any built-in or user-defined general-purpose or statistical aggregate can be used as a window function

所以为了得到想要的结果使用:

select a, bool_or(b) over w from newtable window w as (partition by a) ;
a | bool_or
---+---------
a | f
a | f
a | f
b | t
b | t
b | t
(6 rows)

关于postgresql - 聚合函数 bool_or() 是否有等效的 PostgresSQL 窗口函数(或替代过程)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50047409/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com