hql随机取10条数据怎么写? 用HQL随机取10条数据怎么写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 好像是hibernate用的sql吧,以前用过一点 哦,谢了,没用过Hibernate.呵呵。 你自己写个长度为10的数组num[]存放随机产生的10个id号再用个for循环构建10条hql语句查询就行了啊 FROM ClassName cn WHERE cn.id=rand()*(SELECT MAX(c.id) FROM ClassName c); 要看 你hibernate的 id生成策略也许是随即 字符串 的id呢? 这个也不多啊你自己写个 长度10的数组 那这10个id 你从哪获得?既然 你能放到得到10个 id放到数组里 那还 有必要创建数组吗 oracle中SQLselect *from (select id,name,tid,rank()over(partition by tid order by sys_guid())rndfrom table) twhere rnd <= 5其中rank()over(partition by tid order by sys_guid())的作用是求按tid分组然后按照sys_guid(相当于sql中的newid)排序后这一行所处的名次 不知道 HQL里面有对应的函数不。 hql里面函数感觉应该是照搬成sql... 应该可以,,不过楼上的写法,,呵呵,哎..不理解这些 函数... oracle内置函数呀。所以我担心 HQL没有对应的函数。 弱问 一个 td 换行的问题 jsp里面 是新图片拖拉的效果? 求教选中多条记录一次性删除的做法? 请问怎样点了链 接就弹出一个窗口 怎样实行文本文件下载? jsp 连接oracle 的问题 富客户端DWZ复制的项目中出现乱码 SSH 注解 使用filter实现自动登录 为何得不到text值? netbeans编程软件,求帮忙action的问题,在线等, java Web 调试问题 本人新人,研究了好久点击div显示文本框,但是在FF下需要点击两次,帮忙看看啦~
再用个for循环构建10条hql语句查询就行了啊
FROM ClassName cn WHERE cn.id=rand()*(SELECT MAX(c.id) FROM ClassName c);
要看 你hibernate的 id生成策略也许是随即 字符串 的id呢?
这个也不多啊你自己写个 长度10的数组 那这10个id 你从哪获得?
既然 你能放到得到10个 id放到数组里
那还 有必要创建数组吗
select *
from
(
select id,name,tid,rank()over(partition by tid order by sys_guid())rnd
from table
) t
where rnd <= 5
其中
rank()over(partition by tid order by sys_guid())
的作用是求按tid分组然后按照sys_guid(相当于sql中的newid)排序后这一行所处的名次 不知道 HQL里面有对应的函数不。
应该可以,,不过楼上的写法,,呵呵,哎..不理解这些 函数...
oracle内置函数呀。所以我担心 HQL没有对应的函数。