我有一个sql查询,如下所示
select cloumn1,column2,count(column1) as c
from Table1 where user_id='xxxxx' and timestamp > xxxxxx
group by cloumn1,column2
order by c desc limit 1;
我成功地写出了sqlalchemy等式
^{pr2}$但是我想避免在order_by
子句中使用func.count(Table1.field1)
。在
如何在sqlalchemy中使用alias?有谁能举个例子吗?在
别名用于表;查询中的列被赋予标签。这也时常让我绊倒。在
你可以从两个方面着手。先将
func.count()
结果存储为局部变量并重用它就足够了:生成的SQL仍然与您自己的代码生成的SQL相同,但至少您不必输入两次
func.count()
调用。在要给此列指定一个显式标签,请对其调用^{} method :
^{pr2}$然后您可以在
order_by
子句中使用相同的labelstring:或者可以使用
field1_count.name
属性:也可以使用c,这是column属性的别名,但在这种情况下,标签可以正常工作。在
还将指出,过滤器不需要多次使用就可以通过逗号分隔的标准。在
相关问题 更多 >
编程相关推荐