1 回答
TA贡献1797条经验 获得超4个赞
请在你的 DTO 结构中使用 double 而不是 float,如果你想从 DTO 返回 float 那么你可以在你的结构中管理它。
AVG 函数将状态字段路径表达式作为参数,并计算组上的状态字段的平均值。状态字段必须是数字,结果以 Double 形式返回。
public class AveragesPojo {
private double initial;
private double initialEFSL;
private double entitySettlement;
private double finalEFSL;
public AveragesPojo(double initial, double initialEFSL, double entitySettlement, double finalEFSL) {
super();
this.initial = initial;
this.initialEFSL = initialEFSL;
this.entitySettlement = entitySettlement;
this.finalEFSL = finalEFSL;
}
}
还请使用a.groupName&a.idRemote并且返回类型应该与构造相同,因为它们具有相同的类型值将被返回,但它们将根据您的查询参数。所以让他们喜欢你的结构。entitySettlement和 finalEFSL:
@Query("SELECT new mx.com.sk.AveragesPojo(AVG(a.initial), AVG(a.initialEFSL), AVG(a.entitySettlement), AVG(a.finalEFSL )) FROM AveragesModel AS a WHERE a.groupName = :groupName AND a.idRemote = :idRemote")
public AverajesPojo getLastSurveyAverages(@Param("groupName") String groupName, @Param("idRemote") Long idRemote);
}
添加回答
举报