MySQL:mysqli_fetch_array()

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

如何对同一个表中的这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 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()
,没有什么好处,这只会使获取结果变得更复杂。是的,但最好知道多查询是什么样子^