gpt4 book ai didi

php - 我可以让这三个 SQL 查询只适合一个吗?

转载 作者:行者123 更新时间:2023-12-01 00:27:54 25 4
gpt4 key购买 nike

我想统计正面、中性、负面反馈的数量。

我有 3 个看起来非常相似的查询。有没有一种方法可以将所有这些放入一个查询中?还是最简洁的方式?

提前致谢,问候。

$total_positive_seller = mysql_num_rows(mysql_query("SELECT id FROM feedback 
WHERE seller='$user' AND feedback='positive'"));
$total_neutral_seller = mysql_num_rows(mysql_query("SELECT id FROM feedback
WHERE seller='$user' AND feedback='neutral'"));
$total_negative_seller = mysql_num_rows(mysql_query("SELECT id FROM feedback
WHERE seller='$user' AND feedback='negative'"));

最佳答案

如果你只是想计算出现次数,你使用mysql_num_rows 是相当低效的。最好使用 MySQL 的 count(*) 功能,如以下查询:

SELECT feedback, count(*) AS `count` 
FROM feedback
WHERE seller='$user'
GROUP BY feedback

这给你的东西看起来应该像下面这样

feedback | count
----------------
positive | 12
neutral | 8
negative | 3

之后您可以像解析任何其他查询结果一样以行方式解析它。

编辑

如果您想在下面的代码中单独处理每个条目,您可以使用类似下面的内容。在此代码之后,您可以引用所有条目,例如,通过 $result['positive']

$qres = mysql_query( 'SELECT ...' );
$result = array();
while( $row = mysql_fetch_array( $qres ) ) {
$result[ $row['feedback' ] ] = $row['count'];
}

关于php - 我可以让这三个 SQL 查询只适合一个吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10667343/

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