用户表中的963行
视频表中的872行

在用户表(fbid,name)中是列名
在视频表中(fbid等)是列名。

使用以下查询,我通过从视频表中提供fbid从用户表中获取名称。下面的查询仅返回791行,​​但应返回872行。

<?php
$counter = 1;
$q = "SELECT * FROM videos GROUP BY fbid ORDER BY score DESC, id ASC";
$r = mysqli_query($conn,$q);
if(mysqli_num_rows($r)>0):
    while($row = mysqli_fetch_assoc($r)):
        $fbid=$row['fbid'];

        $q1 = "SELECT name FROM users WHERE fbid=".$fbid."";
        $r1 = mysqli_query($conn,$q1);
        while($row1 = mysqli_fetch_assoc($r1)):
            $name=$row1['name'];
            ?>

            <?php
            $counter++;
        endwhile;
    endwhile;
endif;
?>

最佳答案

SELECT v.*
     , u.name
  FROM videos v
  JOIN users u
    ON u.fbid = v.fbid
  ORDER
    BY v.score DESC
     , v.id ASC;

关于php - while循环中的多选查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39189164/

10-15 19:30