计算每年调查数量的平均值,Spring Data Jpa

时间:2017-11-15 12:47:21

标签: spring spring-data-jpa

我有一个名为Survey的模型

@CreationTimestamp
@Temporal(TemporalType.TIMESTAMP)
private Date submittedDate; 

字段,它是一个时间戳,显示在此表中插入行的时间。 我希望能够查询和显示的是: 每月总行数,12个月。 然后找到平均值。这将是:

(countJan + CountFeb + ...)/ 12; (循环通过countInEveryMonth,除以12)

如何使用Spring Data Jpa进行查询?

我是否写了一个方法:

int countBySubmittedDate(Date submittedDate) ? - 

但这会计算给定时间戳的调查数量? 谢谢。

1 个答案:

答案 0 :(得分:0)

全年平均值可以是:

public interface SurveyRepository extends CrudRepository<Survey, Integer> {
    @Query("SELECT COUNT(s) FROM Survey s WHERE (date_field BETWEEN :yearStart AND :yearEnd)")
    Long yearAverage(@Param("yearStart") Date yearEnd, @Param("yearEnd") Date yearEnd);
    //you may divide it by 12
}

其他情况也可以这样做。