当前位置: 首页 > 面试题库 >

如何在SQLAlchemy查询中使用平均和总和

叶福
2023-03-14
问题内容

我正在尝试从数据集中返回总计/平均值行,其中包含某些字段的SUM和其他字段的AVG。

我可以通过以下方式在SQL中执行此操作:

SELECT SUM(field1) as SumFld, AVG(field2) as AvgFld 
FROM Rating WHERE url=[url_string]

我将其转换为SQLAlchemy的尝试如下:

totals = Rating.query(func.avg(Rating.field2)).filter(Rating.url==url_string.netloc)

但这是错误的:

TypeError: 'BaseQuery' object is not callable

问题答案:

您应该使用类似:

from sqlalchemy.sql import func
session.query(func.avg(Rating.field2).label('average')).filter(Rating.url==url_string.netloc)

您不能MyObject.query在这里使用,因为SqlAlchemy试图找到一个将avg函数结果放入的字段,但是它失败了。



 类似资料:
  • 问题内容: 我想知道是否可以在一个SQL SERVER请求中获得总和的平均值, 尝试使用以下请求来执行此操作,但是它不起作用: 问题答案: 我认为您的问题需要一些解释。如果要取分组的总和,可以使用: 然后,如果要取该总和的平均值,则只需进行以下操作: 但是,您无法对外部查询进行分组,因为这将为您提供类似于第一个查询的结果。内部查询的结果已按分组。

  • 我尝试使用ireport对BigDecimal值进行sum和avg算术运算。我做的时候总会有误差。 所有类型都在 ireport 中定义为 BigDecimal 。 -分离,此示例中的变量工作正常,但我不能对变量进行算术运算。 总和与平均值如何键入BigDecimal? 在我的示例中,这不是工作: 我尝试在ireport中使用Java sintax,但是不起作用。 我使用的是3.0.0版iRepo

  • 问题内容: 我用来从表中获取数据。现在,从称为的表中获取所有记录正在按预期方式工作。 现在,我希望对多个列执行查询,如下所示: 但这给LIKE带来了错误。我怎样才能做到这一点? 问题答案: 请像运营商一样使用 http://docs.sqlalchemy.org/en/rel_0_9/core/sqlelement.html#sqlalchemy.sql.operators.ColumnOpera

  • 我试图理解新的Java8流API。 http://docs.oracle.com/javase/tutorial/collections/streams/reduction.html 我找到了使用collect API查找数字平均值的示例。但我觉得,使用reduce()也可以做到这一点。

  • 问题内容: 我在添加数组的所有元素以及将它们取平均值时遇到了问题。我该怎么做,并用我现在拥有的代码实现它?这些元素应该定义如下。 问题答案: var sum = 0; for( var i = 0; i < elmt.length; i++ ){ sum += parseInt( elmt[i], 10 ); //don’t forget to add the base } 只需遍历数组,因为您的

  • 问题内容: 我有一个包含列A和C的表T,我想从中检索一个平均计数,如下所示: 如何在GORM中完成此任务?GRAILS 2.2.0版我尝试按照文档进行操作,但是没有好的示例。我什至无法使子查询工作:( 我能够使计数部分起作用。现在仍要确定如何获得平均值,因为我不知道如何从查询中进行选择。 问题答案: 这是在HQL中完成的。使用我的域之一在grails控制台中进行了测试: