[英]Filter Where clause in SqlAlchemy
If I have the following postgres table.如果我有以下 postgres 表。
users = Table('users', metadata,
Column('id', Integer, primary_key=True),
Column('name', String),
Column('fullname', String),
)
Suppose I want to get counts like so:假设我想得到这样的计数:
select count(*) filter (where name = 'name') as nnames,
count(*) as n
from users
Is it possible to do something similar to the above query with the sqlalchemy ORM using a query?是否可以使用查询对 sqlalchemy ORM 执行类似于上述查询的操作? I have not seen anything in the documentation.我没有在文档中看到任何内容。 My current solution involves subquery
and select
.我当前的解决方案涉及subquery
和select
。
Try something like this.尝试这样的事情。
from sqlalchemy import func
Table.query.values(func.count().filter(Table.name == "name"), func.count())
I did so in flask-sqlalchemy我在flask-sqlalchemy中这样做了
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.