gpt4 book ai didi

postgresql - PostgreSQL 聚合的 SQLAlchemy 运算符(每个)

转载 作者:行者123 更新时间:2023-11-29 12:20:06 28 4
gpt4 key购买 nike

PostreSQL 具有 every() aggregate functions ,它通过对所有组行运行谓词来过滤组。

例如,对于下表:

 star_name | star_type | landed_upon
-----------+-----------+-------------
Mars | Planet | t
Venus | Planet | t
Rhea | Moons | f
Titan | Moons | t

这个every()查询:

SELECT star_type, max(star_name) example, COUNT(*)
FROM stars
GROUP BY star_type
HAVING every (landed_upon = true);

返回 Planet 组但不返回 Moons 组,因为 Rhea 不满足 landed_upon 谓词Moons 组:

 star_type | example | count
-----------+---------+-------
Planet | Venus | 2
(1 row)

PostgreSQL every() 是否有等效的 SQLAlchemy 运算符?

最佳答案

您可以使用func 对象来生成SQL 函数。

.having(func.every(Star.landed_upon))

会产生

HAVING EVERY(stars.landed_upon)

关于postgresql - PostgreSQL 聚合的 SQLAlchemy 运算符(每个),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30756284/

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