gpt4 book ai didi

python - SQLAlchemy - 计数状态为真

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

我在数据库中有两个表。一个名为 company,另一个名为 company_map。公司表如下:

C_ID NAME  Contact
1 a 12334
2 b 12335
3 c 12336
4 d 12337
5 e 12338

company_map 表如下:

M_ID C_ID  STATUS
1 1 True
2 1 False
3 1 True
4 3 True
5 3 True

我需要计算 company_map 表中 STATUS 为真的数字,按 C_ID 分组。例如,我需要获取 C_ID 的编号为 1 且其 STATUS 为真,它应该为 2。我现在可以获取 C_ID 的编号,通过使用 func.count(company_map.C_ID),它会得到 3。但是如何统计 STATUS == true()?我尝试了一些方法,但都不起作用。

最佳答案

我从 SQLAlchemy func.count on boolean column 得到灵感

.having(func.count(case([(company_map.STATUS, 1)])) < func.count(company_map.C_ID)) 

如果你的SQLAlchemy是最新版本,可以使用

.having(func.count(1).filter(company_map.STATUS))

比旧的更干净。

关于python - SQLAlchemy - 计数状态为真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46167101/

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