![](/img/trans.png)
[英]Using SQLalchemy ORM for Python In my REST api, how can I aggregate resources to the hour to the day?
[英]Can I use aggregate expressions using SQLAlchemy?
假設我有一個模型Machine
其中的布爾字段為active
,並且想通過active = true
過濾計數
func.count(...).filter(...)
from models import db, Machine
from sqlalchemy.sql import func
query = db.session.query(
func.count(Machine.id).filter(Machine.active == True)
.label('active_machines')
)
我們可以看一下生成的SQL查詢:
>>> print(query)
SELECT count(machine.id) FILTER (WHERE machine.active = true) AS active_machines
FROM machine
這對於其他聚合函數(例如func.avg
, func.sum
等)也應相同
funcfilter(count(...), filter)
語法更長 func.count(Machine.id).filter(Machine.active == True)
是以下簡稱的簡稱:
from sqlalchemy import funcfilter
funcfilter(func.count(Machine.id), Machine.active == True)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.