這是MySQL查詢,我已經:JPA:ORDER BY之前GROUP BY在JPARepository
SELECT * FROM (SELECT vev.* FROM vital_entry ve
INNER JOIN vital_entry_values vev ON ve.vital_entry_id=vev.vital_entry_id
WHERE ve.account_id=146
ORDER BY date_entered DESC) t1
GROUP BY vital_id ;
如何在JPA做到這一點?我想:
@Query("SELECT t1 FROM (SELECT ve FROM VitalEntry ve " +
"INNER JOIN ve.vitalEntryValues vev " +
"WHERE ve.accountId=:accountId " +
"ORDER BY ve.dateEntered DESC) t1")
List<VitalEntry> getRecentVitalValues(@Param("accountId") int accountId);
但IntelIj顯示錯誤expected identifer, got '('
什麼組的? – HeisenBerg
假設vitalId是字段名稱,「ve.vitalId通過ve.dateEntered desc命令組」。 –
但這並沒有給我預期的結果。我想按日期順序排序,然後按vitalId分組,所以我會得到每個vitalId的最新值 – HeisenBerg