1

MyTable最後に挿入された結果のみを 1 つ取得したいと思います。LIMIT 1だから私はorを入れましLIMIT 0,1たが、代わりに2つの結果があります。例外がスローされます。どのようにできるのか?私はorg.springframework.data.repository.CrudRepositorymysql DBで使用します

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

1 に答える 1

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")  
于 2013-02-05T10:05:57.607 に答える