通过随机选择顺序()查询不在Java

时间:2017-04-10 14:38:44

标签: java mysql

我在我的存储库中使用查询,并且我试图从表中选择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);

2 个答案:

答案 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);