如果用的是mssql的话,有一个随机排序函数newid()
查询的时候按照newid()排序即可,如果你用的是mysql就不知道是否有类似的函数了...

解决方案 »

  1.   

    order by rand() limit 0,9
    怎么就没人用?
      

  2.   

    这个吗。
    不难
    给你个切换机的思路吧
    咱们先不管你的手机号什么怎么样的,就当它们都放在 DB里吧。你先弄个放有 1-100这样的数的数组
    比如 : 1  2  3  4  5  6。。100
    然后随机器取数 比如取得到一个  是 34
    那你就把 数组第一个 元素 给  第  34个互换
    然后再这样  搞NNN次 你就能得到一个  1---100的乱序  数组了 比如  32  45  64   5  61  64。。3  55然后你自然可以 取前 10个数
    或者 取得 从 第N个元素  开始的10个数这算法 我喜欢 你还可以 再改进一下弄得更复杂更随机
      

  3.   

    不过  我看还是  order by rand() 这个猛!!
    有收获呕!!
      

  4.   

    如果是oracle数据库,可以:select id from phonelist order by dbms_random.random
      

  5.   

    上面错了,应该是:select * from (
      select id from phonelist order by dbms_random.random
    ) where rownum <= 10
      

  6.   

    order by rand();是mysql里的。
    LZ要的是单纯PHP的。那用array_rand()函数。
      

  7.   

    存在数据库中,然后shuffle数组,然后取前10个bool shuffle ( array &array )
    本函数打乱(随机排列单元的顺序)一个数组。