比如说我要在test表里提取5条记录,order by rand() limit 0,5
table表是
id
1
2
3
4
5
6
7
一般情况下提示的5条是不重复的5条记录,如何让它有可能重复呢?
比如说我获得的数据集是
1,1,2,3,5
1,2,2,3,3
5,6,6,6,7请教了~~:)

解决方案 »

  1.   

    (select * from test order by rand() limit 1)
    union all
    (select * from test order by rand() limit 1)
    union all
    (select * from test order by rand() limit 1)
    union all
    (select * from test order by rand() limit 1)
    union all
    (select * from test order by rand() limit 1);
      

  2.   

    你可以这样,自己先写个过程随机生成几百个ID记录放进一个临时表,然后与源表 inner join 来获取
      

  3.   

    [Quote =6 楼 ljf_ljf 的回复:]引用 5 楼 yueliangdao0608 的回复:
    不知道哪一天,你的系统负载就会疯狂上升!
    绝对赞同[/Quote]建议用4楼的方法。