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);
}
添加回答
舉報