首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按随机数按时间排序(HQL)

问按随机数按时间排序(HQL)
EN

Stack Overflow用户
提问于 2010-05-27 01:31:29
回答 2查看 3.3K关注 0票数 0

我正在使用asp.net MVC2和NHibernate开发一个web应用程序,并且在我的页面中对数据(某个类别中的产品)进行分页,但是这些数据是随机的,所以,我使用hql语句链接如下:

代码语言:javascript
复制
string hql = "from Product p where p.Category.Id=:IdCategory order by rand()";

它工作得很好,但当我翻页时,有时相同的产品会出现在第一页、第二页等……页,因为它是按rand()排序的。

有没有办法通过固定的周期(时间内部)进行随机排序?或者任何解决方案?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-27 01:37:55

将随机数生成器设置为种子:

代码语言:javascript
复制
order by rand(123)

我建议使用会话范围的随机数作为种子。这样,页面不会突然针对单个用户进行重新排序,但仍然会针对每个用户进行不同的排序。

票数 4
EN

Stack Overflow用户

发布于 2010-05-27 01:34:36

我不明白你为什么故意把数据随机化。如果没有特定的顺序,为什么不直接按主键排序呢?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2915333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档