我可以对每一行运行单独的查询,而不是使用单个查询打印所有数据吗?
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
您还需要为查询返回的每一行创建一个新的<tr>
。
【讨论】:
非常感谢,我很明白。查询工作正常,但有一个问题。它不会在同一行显示具有相同日期、相同姓氏但不同名称的数据。所以它在两个不同的行上显示为 asd_count 和 opr_count。我希望它并排出现在同一行。 他们应该。但它缺少<tr>
来开始新的一行。我添加了那个。
不完全是。我这样做了,但是mysql查询有问题。如果我能用照片展示它会很棒。
提供上传截图的链接。以上是关于我可以对每一行运行单独的查询,而不是使用单个查询打印所有数据吗?的主要内容,如果未能解决你的问题,请参考以下文章
oracle sql (toad) - 执行多个查询,保存到单个 excel 文件
如何使实体框架对每条记录使用 1 个更新查询而不是 1 个?
SQL:将查询输出更改为具有两个单独的列,而不是具有 2 个值的行