我有以下查询电话:
SearchList = (DBSession.query(
func.count(ExtendedCDR.uniqueid).label("CallCount"),
func.sum(ExtendedCDR.duration).label("TotalSeconds"),
ExtendedCDR,ExtensionMap)
.filter(or_(ExtensionMap.exten == ExtendedCDR.extension,ExtensionMap.prev_exten == ExtendedCDR.extension))
.filter(between(ExtendedCDR.start,datebegin,dateend))
.filter(ExtendedCDR.extension.in_(SelectedExtension))
.group_by(ExtendedCDR.extension)
.order_by(func.count(ExtendedCDR.uniqueid).desc()))
.all()
)
我希望能够在调用.query()之前定义order_by子句,这可能吗?在
我尝试按照this stackoverflow answer对过滤器规范的建议来做,但是我不知道如何创建过滤器组语法。在
从那篇文章中:
^{pr2}$
使用
DBSession.query()
调用构建一个SQL查询,在对其调用.all()
之前,不会执行该查询。在您可以存储中间结果,并根据需要添加更多筛选器或其他子句:
可以提前创建传递给
^{pr2}$order_by
的值:然后使用如下:
查询完成后,通过调用
.all()
获得结果:相关问题 更多 >
编程相关推荐