首页 新闻 会员 周边 捐助

随机从数据库中读取两条数据

0
悬赏园豆:20 [已解决问题] 解决于 2012-11-13 23:04

因为关于到数据库的迁移问题,所以不能使用数据库的函数或特定语法,现在需要从数据库随机读取两条数据,怎么用java实现?

泱泱的主页 泱泱 | 初学一级 | 园豆:2
提问于:2012-11-05 21:30
< >
分享
最佳答案
0

不知道楼主用的那个数据库:SQL读取随机数据,列举几个MSSQL,Access,MySQL,Orcal

MsSql随机取数据 select top 2 * from TableName order by newid()
Access 随机取数据 select  SELECT top 2 id FROM 表1 order by rnd(id)
mySql 随机取数据 SELECT id FROM gueze order by rand() limit 2

orcal随机读取数据 select * from (select * from pubcode.occupation_akt order by dbms_random.value) aa where   aa.orderid is not null and rownum<=2

我觉得这里你不管用Java 还是用C# 等语言操作。。取随机数据 还是用SQl实现吧。。希望对你有帮助。。

收获园豆:4
在 水 一 方 | 小虾三级 |园豆:1097 | 2012-11-06 09:30

目前使用的DB2,但以后要更换数据库,不知道会换成那一种,所以需要一个通用的。

泱泱 | 园豆:2 (初学一级) | 2012-11-08 20:39

@泱泱: 你用的是.net 项目  还是 Java项目  如果是JavaEE有Hibernate数据持久化 可以换不同的数据库。。如果是.net 项目的话 有entity framework ,LinqtoSql,Nhibernate,Ado.net 了网上有很多多种数据库使用的代码。。

在 水 一 方 | 园豆:1097 (小虾三级) | 2012-11-09 09:16
其他回答(4)
0
收获园豆:4
chenping2008 | 园豆:9836 (大侠五级) | 2012-11-05 21:36
0

怎么不能使得数据库的特定语法,在程序里根据不同数据库使用不同语法,比用程序实现简单多了

收获园豆:4
向往-SONG | 园豆:4853 (老鸟四级) | 2012-11-05 22:59
0

那你至少先要判断一下数据库中有多少条数据,才可以在这个区间随机吧

收获园豆:4
田林九村 | 园豆:2367 (老鸟四级) | 2012-11-06 07:53

这样的话,就需要先读取数据库中数据的总数,得到随机数,然后再去数据库中操作,需要2次操作数据库

支持(0) 反对(0) chenping2008 | 园豆:9836 (大侠五级) | 2012-11-06 09:03

@chenping2008: 他这个需求导致只能这样处理,不过select count(*) 的执行不会花什么时间

支持(0) 反对(0) 田林九村 | 园豆:2367 (老鸟四级) | 2012-11-06 09:07
0

sql server里有好多随机数的写法  sql语句里写上newid 记录都是乱序排列了 然后取前两条就可以了

收获园豆:4
oppoic | 园豆:770 (小虾三级) | 2012-11-06 09:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册