我正在将一些SQLAlchemy代码转换为Django ORM(...我是SQLA的新手)。
我有一行看起来像:
db_session.query(func.sum(MyTable.count)).filter_by(...).scalar()
目的似乎是生成一个简单的计数,但在网上找到的例子中,更常用的方法是:
db_session.query(func.count(MyTable.id))
......第一行是否做了与此不同的事情,或者它只是不恰当的?
我认为这可能是总计数的总和,但似乎只涉及一个表而没有group_by
所以我不这么认为。
答案 0 :(得分:1)
func.sum
生成SUM
表达式,对值进行求和。
func.count
生成一个COUNT
epxression,对值进行计数。
如果你有[1,2,3,4],总和将产生10,计数将产生4。