【发布时间】:2017-09-12 20:57:02
【问题描述】:
我在数据库中有两个表。一个名为 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 为true 的数量,按C_ID 分组。比如我需要得到C_ID的个数是1,它的STATUS是true,应该是2。我现在可以得到C_ID的个数,通过使用func.count(company_map.C_ID),它会得到3。但是如何计算 STATUS == true()?我尝试了一些方法,但没有一个有效。
【问题讨论】:
-
我试过这个方法,它有效:.having(func.count(case([(company_map.STATUS, 1)]))
标签: python sql postgresql sqlalchemy