站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题随机取数问题?

随机取数问题?

摘要: 随机取数问题?


想从数据库中随机抽取10条记录,现在我抽取出来的有重复,比如id=2的被抽到两次,怎样才能保证抽出的10条记录没有重复的?


随机生成的是下标,而数据从List中取,每次生成一个,从List中remove,下一次的随机下标取值范围0~List.size()





你是什么数据库,不同的数据库有不同的算法。
sqlserver可以用newid
其他数据库老老实实写算法。


mark


对不起,题目没有看清楚,你是否想问用一句SQL如何搞定?请先说明DB类型及版本


shine333(enihs) ( ) 信誉:125
=============
先谢谢您的回帖,
我是想从一个表中取出10条记录显示出来:
1、用sql句取出10条再封装arraylist
2、将所有记录封装arraylist再取10个
这两个方法应该用哪个我还没决定,因为不知道哪一种效率高。
我觉得你的方法适用于第2种
不知我的理解有没有错。。

我的db是mysql 4.0



你可以先弄一个HashSet吧,随机生成若干个ID先存到HashSet里面,等HashSet容量为10的时候,在一次性把这10个id的数据取出来不行吗?


关键是取出的纪录重复问题


用TreeSet,但性能会有一定影响


MySQL 5.0里面有RANDOM()函数,4.0不知道有没有


select * from your_table where ..... order by rand() limit 10


↑返回目录
前一篇: 表格中怎么换行?
后一篇: 求教jsp用ftp上传文件的问题