简体   繁体   English

在 SqlAlchemy 中过滤 Where 子句

[英]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 .我当前的解决方案涉及subqueryselect

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM