我希望只有最后插入的MyTable
只有一个结果。
我把LIMIT 1
或LIMIT 0,1
放了,但我有两个结果。
它引发了一个例外。
我能怎么做?
我在mysql DB上使用org.springframework.data.repository.CrudRepository
@Query("select t from MyTable t " +
" where " +
" t.date <= :date " +
" order by t.date desc " +
" LIMIT 1 ")
MyTable findOnlyTheLast(
@Param("date") String date);
答案 0 :(得分:1)
尝试在where子句中添加条件,该子句选择满足条件的最大日期。
@Query("select t from MyTable t " +
" where " +
" t.date <= :date " +
" and t.date = (select max(tt.date) from MyTable tt where tt.date <= :date)" +
" order by t.date desc")