[英]SQLAlchemy - count status is true
我在數據庫中有兩個表。 一個被命名為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。如何計算狀態== true()? 我嘗試了一些方法,但是沒有用。
我從布爾列上的SQLAlchemy func.count了解到
.having(func.count(case([(company_map.STATUS, 1)])) < func.count(company_map.C_ID))
如果您的SQLAlchemy是最新版本,則可以使用
.having(func.count(1).filter(company_map.STATUS))
比舊的干凈。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.