关于数据库查询的,请数据库大神看看啊 2C

如何在数据库中,从n万条数据随机抽取十条出来,主要写思路,我个人感觉应该要考虑到性能方面,但不知道从哪下手

6个回答

因为几万条数据并不多,我出个笨办法,反正直接写sql的我想不到:

前提是数据id是数字,最好有序。

1、先把数据id取出成list

2、然后用Random 在list.size范围内取是个不同的数字

3、10个不同数字当做list的索引号取出id

4、拿着这随机的10个不同id,在数据库取出来数据

1.取出所有 id放入一个数组
2.在数组中随机取出10个id(随机数取)
3.用select in读取指定的10条记录

http://www.cnblogs.com/lyhabc/p/3826872.html 从SQLSERVER/MYSQL数据库中随机取一条或者N条记录

你可以模糊查询啊 或者根据id,什么名称,查询啊 或者使用top 10 就是限量几条

for(int i=0;i<10;i++)
{
//随机选取一个id,查询出结果输出。
}

随机取十条,,

(1)程序负责随机出,10个随机数,,

(2)然后用 select 查询,,,where判断 或的关系链接随机的十个数(最好随机出主键)

只查一次,可能性能会好点,,不过,,条件貌似不少

例如:select ROW_NUMBER() over(order by id desc) numid,UserName from UserInfo
先根据主键id生成自增的对应序号(可理解为行号)
然后则每一条数据都有唯一对应有序行号(有3万条,则行号为1到30000)
最后只要在行号1到30000中随机,再根据行号查询对应数据

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!