Я построил следующий запрос JPQL, в котором результат отправляется на основе переданной метки времени. Я хочу изменить это и вместо этого передать число, которое является значением месяца и, например, получить все результаты за последние 6 месяцев.
Я использую Oracle DB, если это актуально.Я попытался передать в методе datediff в этом запросе, но он вызывает ошибки компиляции.Есть ли способ сделать это?
Мой текущий запрос.
@Query("SELECT SUM(urlCount.referEventTotalCount) " +
"FROM UrlCountEntity urlCount " +
"JOIN urlCount.eventTypes et " +
"WHERE urlCount.url.urlTx IN :urls " +
"AND et.referEventTypeDs =:eventType " +
"AND urlCount.updateTimeStamp <=:timeStamp")
Integer getTotalCount(@Param("urls") List<String> urls, @Param("eventType")String eventType, @Param("timeStamp")Timestamp timeStamp);
Нужно изменить строку -> "И urlCount.updateTimeStamp <=: timeStamp") </p>
@Query("SELECT SUM(urlCount.referEventTotalCount) " +
"FROM UrlCountEntity urlCount " +
"JOIN urlCount.eventTypes et " +
"WHERE urlCount.url.urlTx IN :urls " +
"AND et.referEventTypeDs =:eventType ")
// "AND urlCount.updateTimeStamp <=:timeStamp") // instead of this, pass in the numOfMths value to calculate how much data to show (example past 3 mths)
Integer getTotalCount(@Param("urls") List<String> urls, @Param("eventType")String eventType, @Param("numOfMths")int numOfMths);