【发布时间】:2020-01-29 21:19:28
【问题描述】:
我正在寻找一种方法来使用 SQLAlchemy 计算从给定查询(可能包括过滤器)返回的行数,但我在网上找到的所有内容都明确使用了模型(例如 here) .我的问题是我没有模型,我只有一个 Table 对象(因为我正在处理格式不时变化的临时表)。目前我可以执行以下操作:
tbl = Table(mytablename,metadata,autoload=True, autoload_with=myengine, schema=myschemaname)
query = select([tbl])
filters = build_filters(...) #my function that build filters
query = query.where(and_(*filters))
conn = myengine.connect()
ResultProxy = conn.execute(query)
totalCount = len(ResultProxy.fetchall())
但是效率很低。有没有办法在不参考任何模型的情况下高效地进行计数?
【问题讨论】:
-
您是否要在 mytablename 上执行 select count(*) 而不实际查询所有记录?
-
我想计算对表的查询返回的行数是的,但该查询可以包含过滤器。例如,我想做: select count(*) from mytable where temperature>80 and city=Dallas
标签: python-3.x count sqlalchemy