php - 我正在计算答案,但不知道如何自动化

标签 php mysql select

我有来自数据库的答案,现在可以数到 1,但我想显示选择答案的次数。我不知道该怎么做。 例如,我想计算“question_id”(问题)中回答“answer_id”(答案的id)1和2的次数

我尝试在上面设置一个不同的 if ,但这对我来说不起作用。 The database

<?php  
$conn = mysqli_connect('localhost', 'root','','survey_cms_4people');
if (!$conn){
    echo "DATABSE ERROR!";
}

$variable = 1;
$countAnswerQuery = "SELECT COUNT(`answer_id`) FROM survey_answers WHERE question_id=$variable AND answer_id=$variable ";
$countanswerresult = mysqli_query($conn, $countAnswerQuery);
while ($row = mysqli_fetch_array($countanswerresult)) {
    echo $row[0];
}


?> 

我希望能够自动计算它们,而不是为每个问题/答案编写 sql 查询。

最佳答案

您想要根据答案 ID 进行分组。

SELECT answer_id, COUNT(*) as count, question_id FROM survey_answers WHERE survey_id = $survey GROUP BY question_id , answer_id ORDER BY count DESC;

这将向您显示给定调查中所有问题的所有答案的计数。

这可能是以下内容的重复:

MySQL: Count the occurrences of DISTINCT values

关于php - 我正在计算答案,但不知道如何自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58165393/

相关文章:

php - 如何使用 php 脚本创建数据库备份。我遇到一个错误

mysql - 在 sails.js 中创建后如何让 create() 返回自增主键?

mysql - SQL 模式设计建议

css - Bootstrap 和 Bootstrap-Select - 使 Select 和其他元素适合 div 宽度,100% 宽度/高度

sql - MariaDB - 我可以手动添加 id 到 SELECT FROM() 吗?

php - 在 php 中闲置 15 分钟后自动注销

php - Smarty 缓存(动态内容)

php - 在单选查询中获取两个具有匹配 ID 的表记录

mysql - 对于大型数据集,mongoDB 或 Cassandra 是否比 MySQL 更好?

php - 尝试使用 PHP 创建动态生成的 mySQL select 语句