gpt4 book ai didi

php mysql 从2个表中选择计数

转载 作者:行者123 更新时间:2023-11-29 10:42:48 26 4
gpt4 key购买 nike

我在Mysql中有2个表

表1:项目(项目编号,类型,名称)
表2:备注(项目编号,内容)

我使用while来查看item的数据

$sql="SELECT * FROM item WHERE NO ='$NO' ORDER BY rand()  LIMIT 5";
$result = mysqli_query($connect,$sql);
while($row = mysqli_fetch_array($result)){
$row['itemNO'];
$row['Type'];
$row['name'];

}

我想显示两个表中共享相同 itemNO 的项目的备注计数。
我尝试在 while 中创建新查询来计算该项目的备注,但失败了。

如何显示 while 内的评论计数?

最佳答案

这可以通过 1 个查询完成:

SELECT item.itemNO, item.type, item.name,
COUNT(*) AS totalRemarks
FROM item
LEFT JOIN remark ON remark.itemNO = item.itemNO
GROUP BY item.itemNO, item.type, item.name
ORDER BY RAND()
LIMIT 5

左连接,因为您可能还想查看没有备注的项目

我注意到一个缺陷:如果没有备注,它仍然会提到“1”

这个改变可以解决这个问题:

SELECT item.itemNO, item.type, item.name,
COUNT(remark.itemNO) AS totalRemarks
FROM item
LEFT JOIN remark ON remark.itemNO = item.itemNO
GROUP BY item.itemNO, item.type, item.name
ORDER BY RAND()
LIMIT 5

关于php mysql 从2个表中选择计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45164745/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com