У меня есть класс сущности, который я использую для сохранения показаний в базе данных.
@Entity(name = "readings")
data class ReadingEntity(
@Id @GeneratedValue(strategy = GenerationType.IDENTITY) val id: Long = 0,
val name: String,
@get: NotBlank val serialNumber: String,
val volume: Float,
val consumption: Float,
val date: Date,
val state: State,
val intervals: Int = 0,
val infoCode: Int
)
Я могу легко получить эти показания, но я хотел бы получить что-то вроде этого.
@Query(
value = "SELECT *, sum(consumption) as consumption FROM readings " +
"WHERE serial_number=:serial_number AND date>:date_limit GROUP BY MONTH(date)",
nativeQuery = true
)
fun getMonthlyConsumption(
@Param("serial_number") serial_number: String,
@Param("date_limit") dateLimit: Date
): List<ReadingEntity>
Я получаю неверное значение потребления. На самом деле меня интересует получение даты и суммы потребления.