簡體   English   中英

SQLAlchemy-計數狀態為true

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM