php - 如何在 for 循环中跟踪基数?

标签 php mysql arrays for-loop

enter image description here我有一个元素数组,每个元素都有 1 或 0。我想遍历每个元素并计算哪些元素有最多的 1。

所以我有三个字段:

id、question 和 yesno

值如下所示:

1,1,0
1,2,0
1,3,1
1,4,0
1,5,1
2,1,0
2,2,1
2,3,1
2,4,0
2,5,1
3,1,0
3,2,1
3,3,1
3,4,0
3,5,1

这就是它的要点。现在,我想计算中间列中的哪些元素在第三列中有最多的 1。用另一种方式来解释它。我想遍历 for 循环并计算中间数字为“1”的次数。稍后,我将进行排序,找出哪个最多。我如何进行这种类型的迭代?

如有不解请追问!我自己也很困惑……!

最佳答案

如果这是在数据库中,您可以使用此 SQL:

SELECT question_id, SUM(value = 1) AS value
FROM mytable
GROUP BY question_id
ORDER BY value DESC
LIMIT 1;
  1. SUM(value = 1) 计算每个yesno 值等于 1 的次数;
  2. 使用 GROUP BY question_id 每个问题计算 #1
  3. 然后根据出现次数降序排列(第一个是最高的)
  4. 取第一项。

关于php - 如何在 for 循环中跟踪基数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15038995/

相关文章:

javascript - AJAX XMLHTTPREQUEST 更新 MySQL 表

使用 CodeIgniter 2.xx 运行命令行时遇到 PHP 错误

php - 从数组中删除第 n 个元素并重新索引它

mysql - Django 在第二个数据库上调用存储过程

mysql - sql - 两列的计数

c# - 将字符串数组排序为 Int

php - 做一个视频分享网站,需要一个视频播放器

mysql 游标和计数循环次数。如何统计mysql游标的循环次数

javascript在转换为js对象时打乱数组顺序

javascript - 检查两个数组之间的相等性