我可以对每一行运行单独的查询,而不是使用单个查询打印所有数据吗?

Posted

技术标签:

【中文标题】我可以对每一行运行单独的查询,而不是使用单个查询打印所有数据吗?【英文标题】:Can I run a separate query on each row instead of printing all the data with a single query? 【发布时间】:2020-12-20 18:04:58 【问题描述】:
$query = mysqli_query($conn,SELECT `date`,`name`,`surname`, COUNT(*) AS abc FROM `trial` WHERE `name`='asd' GROUP BY `date`,`name`,`surname` ORDER BY `date` DESC);

<?php while ($row = mysqli_fetch_array($query)) : ?>
     <td><?php echo $row['abc']; ?></td>
     <td><?php echo $row['Can I print a value returned from a different query, not abc? ']; ?></td>

 <?php endwhile; ?>

我可以对第二行运行单独的查询吗?

【问题讨论】:

您可以运行另一个查询,也可以将两个查询合并为一个查询。 我一般推荐加入。 您想从中获取值的另一个查询是什么? 你能举一个可以这样使用的简单查询的例子吗? 如果你展示其他查询,我可以展示如何组合它们。 【参考方案1】:

将它们组合成一个查询,获取每个姓氏的两个计数。

<?php
$query = mysqli_query($conn,"
    SELECT `date`,`surname`, SUM(name = 'asd') AS asd_count, SUM(name = 'opr') AS opr_count
    FROM `trial` 
    WHERE `name`= IN ('asd', 'opr')
    GROUP BY `date`,`surname`
    ORDER BY `date` DESC");
$result = mysqli_query($conn, $query);
while ($row = mysqli_fetch_assoc($result)): ?>
     <tr>
     <td><?php echo $row['date']; ?></td>
     <td><?php echo $row['surname']; ?></td>
     <td><?php echo $row['asd_count']; ?></td>
     <td><?php echo $row['opr_count']; ?></td>
     </tr>
<?php endwhile; ?>

见multiple query same table but in different columns mysql

您还需要为查询返回的每一行创建一个新的&lt;tr&gt;

【讨论】:

非常感谢,我很明白。查询工作正常,但有一个问题。它不会在同一行显示具有相同日期、相同姓氏但不同名称的数据。所以它在两个不同的行上显示为 asd_count 和 opr_count。我希望它并排出现在同一行。 他们应该。但它缺少&lt;tr&gt; 来开始新的一行。我添加了那个。 不完全是。我这样做了,但是mysql查询有问题。如果我能用照片展示它会很棒。 提供上传截图的链接。

以上是关于我可以对每一行运行单独的查询,而不是使用单个查询打印所有数据吗?的主要内容,如果未能解决你的问题,请参考以下文章

oracle sql (toad) - 执行多个查询,保存到单个 excel 文件

如何使实体框架对每条记录使用 1 个更新查询而不是 1 个?

将多行查询粘贴到 BigQuery SQL shell

SQL:将查询输出更改为具有两个单独的列,而不是具有 2 个值的行

通过使用查询而不是重复观察单个事件来加快获取我的社交网络应用程序的帖子

通过使用查询而不是重复观察单个事件来加快获取我的社交网络应用程序的帖子