当前位置: 首页 > 知识库问答 >
问题:

两个查询,两个结果来自sql试图在php中划分它们

晁国发
2023-03-14

我有来自sql的两个计数查询。我想把这两个查询的结果分开。我试过:

    $con = mysqli_connect("localhost", "root", "", "xoxo") or die(mysqli_connect_error());

    $query = "SELECT COUNT(xxxx) AS a zzzz";

    $query1 = "SELECT COUNT(xxxx) AS b FROM zzzz WHERE xxxx = 'cccc'";


    $result = mysqli_query($con, $query) or die('Error querying database');
    $result1 = mysqli_query($con, $query1) or die('Error querying database');

    $row = mysqli_fetch_array($result);
    $rowa = mysqli_fetch_array($result1);

    $x = $row/$rowa;

    echo $x;

但它告诉我,它有一个致命的错误。

$con=mysqli_connect(“localhost”、“root”、“xoxo”)或die(mysqli_connect_error());

    $query = "SELECT COUNT(xxxx) AS row1 FROM zzzz";

    $query1 = "SELECT COUNT(xxxx) AS row2 FROM zzzz WHERE xxxx = 'cccc'";

    $result = mysqli_query($con, $query) or die('Error querying database');
    $result1 = mysqli_query($con, $query1) or die('Error querying database');


    while ($row = mysqli_fetch_array($result)) {

    }

    while ($row1 = mysqli_fetch_array($result1)) {

    }

    echo (int)($row['row1'] / $row1['row2']);

但它告诉我这是一个零除。然而,我的第1行和第2行对它都有价值。

共有2个答案

郑翰海
2023-03-14

您已经在中初始化了两个查询的结果,而循环

试试这个

 $row = mysqli_fetch_array($result);
 $row1 = mysqli_fetch_array($result1);

echo (int)($row['row1'] / $row1['row2']);
井兴怀
2023-03-14

当您使用while循环时,意味着它将循环直到条件为false,这意味着您的$row$row1都为false。您需要的是:

$query = "SELECT COUNT(xxxx) AS row1 FROM zzzz";

$query1 = "SELECT COUNT(xxxx) AS row2 FROM zzzz WHERE xxxx = 'cccc'";

$result = mysqli_query($con, $query) or die('Error querying database');
$result1 = mysqli_query($con, $query1) or die('Error querying database');

$row = mysqli_fetch_array($result);
$row1 = mysqli_fetch_array($result1);

echo (int)($row['row1'] / $row1['row2']);

您的第一个示例没有工作,因为当您执行$row/$rowa时,您试图划分2个数组...

 类似资料:
  • 问题内容: 查询1: 查询2: 我想将两个结果合并为两列,其中缺少一列=查询2-查询1以加快处理速度。我该怎么做?示例: 我有两个结果: // ----------------------------------------查询:1 1 2 3 4 // --------------------------------------查询:2 4 5 6 8 // ------------------

  • 问题内容: 我有一个库存表,我想创建一个报告,以显示订购商品的频率。 “库存”表: 基本上,我需要将这两个查询结合在一起。 查询打印库存余额: 打印销售统计信息的查询 我认为某种JOIN可以完成这项工作,但我不知道如何将查询粘合在一起。 所需的输出: 这仅是示例。也许我将需要添加更多条件,因为有更多列。是否存在将多个查询组合在一起的通用技术? 问题答案:

  • 问题内容: 我想同时计算一个表中的记录总数和符合某些条件的记录总数。我可以使用两个单独的查询来完成这些操作: 有没有一种方法可以将它们组合成一个查询,以便在一行中得到两个字段? 如果没有,我可以发出两个查询并将它们包装在一个事务中,以便它们保持一致,但是我希望使用一个查询来完成。 编辑:我最关心原子性;如果需要两个子SELECT语句就可以,只要某个地方有INSERT,它就不会使两个响应不一致。 编

  • 问题内容: 我有两个不同的表,在这些表上我应用了带有一些过滤器和汇总函数(如SUM,COUNT,SUBSTR)的选择查询。 我想在单个结果中获得这两个不同的输出。 查询1: 查询2: 我已经尝试过,而且都尝试过。但是那些没有用。我也尝试过,但是也没有用。请给我建议一些解决方案,在这种情况下会有所帮助。谢谢。 问题答案: 有两种将查询放在一起的方法:通过使用联接进行侧向查询,并通过联合在彼此之上进行

  • 我需要连接来自两个不同表的数据,如下所示。仅使用一个sql查询就可以做到这一点吗?如果“key”和“name”在两个表上,那么它们是相同的。表1中的“状态”始终为“-”,表2中的“T”。此外,两个表上的“名称”和“comp”都匹配(例如:Name3-C和Name4-B)<我尝试过“联合”和“加入”,但还没有解决办法! 表1 表2 结果应该是。。。 提前谢谢!

  • 问题内容: 我有一个看起来像这样的表: 这就是我想要做的: 如果号码已经在数据库中,请不要插入新记录。 如果编号不在数据库中,但名称在数据库中,则创建一个新名称并将其插入。因此,例如,如果我有一个包含for和for的记录,我不想插入它,但是如果我得到一个包含for和for的记录,我会插入and 。我本来要检查重复项,例如: 有没有办法将两个语句组合在一起? 问题答案: 您的问题实际上有两个问题。第