Php 如何对数据库表中的数据进行随机排序,并将结果插入到其他表中

Php 如何对数据库表中的数据进行随机排序,并将结果插入到其他表中,php,mysql,sql,Php,Mysql,Sql,如何对数据库表中的数据进行随机排序,并将结果插入到其他表中? 我的意思是,我在一个名为house的表中有一个行列表,然后我需要获取这些行并随机排序,然后插入到另一个名为winner的表中 如何使用php实现这一点 //***Menaharia and Studio Applicants***// $aplSTMen=mysql_query('select * from applicant where HouseType="Studio" AND SiteId="1"'); $ApConut

如何对数据库表中的数据进行随机排序,并将结果插入到其他表中? 我的意思是,我在一个名为house的表中有一个行列表,然后我需要获取这些行并随机排序,然后插入到另一个名为winner的表中

如何使用php实现这一点

//***Menaharia and Studio Applicants***//
$aplSTMen=mysql_query('select * from applicant  where HouseType="Studio" AND SiteId="1"');  
$ApConutTotMenST = mysql_num_rows($aplSTMen);

$querysStudiomenaharia=mysql_query('select * from house  where HouseType="Studio" AND SiteId="1"');
$HoTotMenST = mysql_num_rows($querysStudiomenaharia);

//***THE NUMBER OF APPLICANTS ARE EQUAL TO THE NUMBER OF HOUSES***//
if( $HoTotMenST == $ApConutTotMenST) {
    while($rw1=mysql_fetch_array($aplSTMen)) {
        $ApplicantId= $rw1['ApplicantId'];
        $SiteId= $rw1['SiteId'];
        $ServiceType= $rw1['ServiceType'];
        $HouseType= $rw1['HouseType'];
        $PhysicalStatus= $rw1['PhysicalStatus'];
        $Gender= $rw1['Gender'];
        $MartialStatus=$rw1['MartialStatus'];   
        $sql = mysql_query("INSERT INTO `condominium`.`winner` (`WinnerId`)VALUES ('$ApplicantId');");
    }

    $ararr[]=array($aplSTMen);

    while($rw1=mysql_fetch_array($querysStudiomenaharia)) {
        $ress=$rw1['reserved'];
        if( $ress== "no") {
            $BlockNo=$rw1['BlockNo'];
            $SiteId=$rw1['SiteId'];
            $HouseNumber=$rw1['HouseNumber'];
            $ararr[]=$HouseNumber;
            echo $HouseNumber."<br\>";

            /*$sql = mysql_query("INSERT INTO `condominium`.`winner` (`WinnerId`, `SiteId`, `HouseNumber`, `BlockNo`) 
                    VALUES ('$ApplicantId', '$SiteId',$HouseNumber , '$BlockNo');");*/
        }
    }
}

我已经尝试过上面的方法,但不起作用。

无需将数据复制到内存中。如果你想要一个伪随机顺序,只需按兰德加上顺序;请编辑您的问题格式。它一团糟。有两个原因使你的计划看起来有缺陷。首先,要通过将行从一个表复制到另一个表来复制数据。其次,您关心插入记录的顺序。假设您可以对查询结果进行排序,那么实际表中记录的顺序应该不会有任何影响。DanBracuk是正确的。如果你真的需要,请阅读并按顺序订购。我需要的是有公寓房屋的申请人和登记房屋,随机选择申请人和房屋,直到房屋数量完成,然后我需要在表winner中登记房屋编号和申请人id。我看不出这会如何改变我发布的内容。ORDER BY rand的MySQL查询将以随机顺序输出结果。您可以在INSERT…SELECT语句的末尾使用该语句,并将该语句放在用PHP调用的存储过程中。然后,您可以从存储过程中取出插入的值并在页面上使用。我可以将申请者随机注册到winner表中,但我无法将房屋分配给winner。RAND的顺序非常有效。