2013-02-05 36 views
0

我想有一个结果MyTable只有最后一次插入。 所以我把LIMIT 1LIMIT 0,1,但我有两个结果,而不是。 它引发异常。 我该怎么办? 我对MySQL的使用org.springframework.data.repository.CrudRepository DB限制1与CrudRepository

@Query("select t from MyTable t " + 
     " where " + 
     " t.date <= :date " + 
     " order by t.date desc " + 
     " LIMIT 1 ") 
MyTable findOnlyTheLast(
     @Param("date") String date); 

回答

1

尝试添加有条件的地方在于选择符合条件的日期的最大条款。

@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") 
+0

你的建议很好! – Shinigami