我在我的存储库中使用查询,并且我试图从表中选择10个随机问题。但是我得到了这个错误 预计 ASC或DESC得到了'(' 我不明白为什么
@Query ( value = "select q from Question q where q.chapitre_id=:id order by
random() limit 10", nativeQuery = true)
List<Question> findQuestionsByChapitre(@Param("id") Long id);
答案 0 :(得分:0)
首先,按1,2,3或任何数字排序意味着按相应位置的列排序;如果您只选择一列(在您的情况下为q
),您将只能按此订购(虽然它可能适用于旧版本)。
然后,按临时值排序的正确语法是order by rand()
答案 1 :(得分:0)
这对我有用:
@Query ( value = "select * from question q where q.chapitre_id=:id order
by rand() limit 10", nativeQuery = true)
Question[] findQuestionsByChapitre(@Param("id") Long id);