从表中随即抽取N条数据:
select *, rand() as c from table_name order by c limit N;
函数rand() 产生一个0~1之间的不重复的小数,按照该数据排序,最后取前面N条数据。完成随即取N条数据都要求。在mysql中验证通过。
通过hql语句实现(mysql数据库):
String hql = "from Model m order by rand()";//随即取符合条件的数据
Query query = session.createQuery(hql).setFirstResult(0).setMaxResults(N);//取N条数据
List list = query.list();