MySQL:mysqli_fetch_array()
如何对同一个表中的这3个查询使用MySQL:mysqli_fetch_array(),mysql,Mysql,如何对同一个表中的这3个查询使用mysqli\u fetch\u array()?或者如何在一对一查询中进行此3查询 SELECT clinic,AVG(rating) FROM review GROUP BY clinic ORDER BY clinic SELECT clinic,COUNT(rating) AS die FROM review WHERE rating = 1 GROUP BY clinic SELECT clinic,COUNT(rating) AS normal FRO
mysqli\u fetch\u array()?或者如何在一对一查询中进行此3查询
SELECT clinic,AVG(rating) FROM review GROUP BY clinic ORDER BY clinic
SELECT clinic,COUNT(rating) AS die FROM review WHERE rating = 1 GROUP BY clinic
SELECT clinic,COUNT(rating) AS normal FROM review WHERE rating = 7 GROUP BY clinic
您可以使用case
表达式将最后两个查询中的条件移动到已计数的表达式count
跳过null
s,因此只需使用一个表达式,该表达式仅针对要计数的条件返回某些值:
SELECT clinic,
AVG(rating),
COUNT(CASE rating WHEN 1 THEN 1 END) AS die,
COUNT(CASE rating WHEN 7 THEN 1 END) AS normal
FROM review
GROUP BY clinic
ORDER BY clinic
你可以用。例如,
$query = "SELECT CURRENT_USER();"; # Example Query
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5"; # Second Example Query
/* execute multi query */
if ($mysqli->multi_query($query)) {
do {
/* store first result set */
if ($result = $mysqli->store_result()) {
while ($row = $result->fetch_row()) {
printf("%s\n", $row[0]);
}
$result->free();
}
/* print divider */
if ($mysqli->more_results()) {
printf("-----------------\n");
}
} while ($mysqli->next_result());
}
/* close connection */
$mysqli->close();
因为StackOverflow不是一个代码编写服务,所以我不打算在您的案例中描述这将如何发生。尝试将其反映到代码中,当您遇到问题时,发布一个问题
注意:示例来自mysqli::multi_query
的整个文档的链接
祝你好运 哇,非常感谢^。^我在谷歌和youtube上搜索了5个小时,但找不到如何搜索。嗯,多查询几乎从来都不是正确的解决方案。仅为每个查询单独调用mysqli\u query()
,没有什么好处,这只会使获取结果变得更复杂。是的,但最好知道多查询是什么样子^