如题
比如:10份分三个人 ,分为 A 3,B 3,C 4Mysql 如何实现这种应用呢?麻烦知道的给下实例代码,多谢 多谢!

解决方案 »

  1.   

    SELECT * FROM `table` ORDER BY RAND() LIMIT 3
    rand(),可以实现随即查询!
      

  2.   

    SELECT * FROM `table` where no in (XXXX)  ORDER BY RAND() LIMIT 3
      

  3.   

    SELECT * FROM `table` where  id no in (XXXX) ORDER BY RAND() LIMIT 3
      

  4.   

    我觉得在mysql里不好做,我这用php+mysql来做的。
    假设两个表:员工表emploee, 客户表 customer
    customer中字段emploee_id用于标识该客户属于哪个员工,如果未分配给你们公司员工该字段为空。所谓分配就是给该字段赋上员工的id值 。
    算法如下:第一步,查出所有未分配的客户id,按随机排序,假设存在$customers数组中
    用到的mysql语句应该是这样的:
    SELECT id FROM `customer` WHERE emploee_id = '' ORDER BY RAND()
    (这条语句其实效率很低,你也可以取出所有客户id,然后用php来随机)
    第二步,循环分配,每次只给拥有最少客户的员工分配:
    <?php
    foreach($customers as $customer){   
    mysql_query("SELECT emploee.id, COUNT(*) as cnt FROM emploee LEFT JOIN customer ON emploee.id = customer.emploee_id GROUP BY emploee.id ORDER BY cnt DESC limit 0, 1");
      ....
      ...
       mysql_query("UPDATE customer SET emploee_id = $emploee_id WHERE id = {$customer['id']}" );
    }