Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 对spring boot jpa查询中的平均值列表求和_Spring Boot_Jpa - Fatal编程技术网

Spring boot 对spring boot jpa查询中的平均值列表求和

Spring boot 对spring boot jpa查询中的平均值列表求和,spring-boot,jpa,Spring Boot,Jpa,我有一个查询,它返回一个平均值列表 @查询按p.client.id公共列表findAVGPositions从p职位组中选择AVGp.quantity 但我想返回这样的平均值之和,但它不起作用 @查询从选择AVGp.quantity中选择SUMaverages作为p.client.id公共浮动查找umavgpositions的位置p组的平均值 你能帮我吗?谢谢不幸的是,在JPQL中,FROM子句中不允许嵌套选择。仅允许在“选择”和“位置”中使用它们 您有两种可用的方法 1使用findAVGPosi

我有一个查询,它返回一个平均值列表

@查询按p.client.id公共列表findAVGPositions从p职位组中选择AVGp.quantity

但我想返回这样的平均值之和,但它不起作用

@查询从选择AVGp.quantity中选择SUMaverages作为p.client.id公共浮动查找umavgpositions的位置p组的平均值


你能帮我吗?谢谢

不幸的是,在JPQL中,FROM子句中不允许嵌套选择。仅允许在“选择”和“位置”中使用它们

您有两种可用的方法

1使用findAVGPositions并在Java中计算总和 findAVGPositions.stream.reduce0f,Float::sum; 2使用本机SQL查询 @Queryvalue=选择平均值+ 从中选择AVGp.quantity作为平均值+ 从位置p开始+ 按客户id分组,作为选择的平均值, nativeQuery=true 公共浮点数sumavgpositions; 根据您使用的数据库,您可能需要或不需要选择别名,即使未使用,PostgreSQL也不需要

请注意,对于位置实体使用正确的数据库表名称,对于外键client.id使用正确的数据库列名称

在我的示例中,我假设了一个标准映射约定:position作为表名,client_id作为外键列