php - 如何计算表格中的多列并使用php显示它们

标签 php mysql count

我有一个包含一些列的表格(见下图):

我的表:

enter image description here

我想使用一些过滤器(即 best_bets 在 1.20 和 1.50 之间)计算那些列中的值(我在 over05、over15 等列中有多少个“ok”和“no”)并使用 php 显示它们

现在我可以使用下面的代码对列进行计数:

    $result=mysql_query("SELECT count(over15) as total from risultati WHERE over15 = 'OK' AND best_bets >= 1.15 AND best_bets <= 1.50");
$data=mysql_fetch_assoc($result);
echo $data['total'];

但我想为更多列做这件事

问候

编辑:我尝试过这种方式,但它不起作用:

$result=mysql_query("SELECT SUM(CASE WHEN over05 = 'OK' THEN 1 ELSE 0 END) AS OK_05,
       SUM(CASE WHEN over15 = 'OK' THEN 1 ELSE 0 END) AS OK_15,
       SUM(CASE WHEN over25 = 'OK' THEN 1 ELSE 0 END) AS OK_25,
       SUM(CASE WHEN over35 = 'OK' THEN 1 ELSE 0 END) AS OK_35,
       SUM(CASE WHEN over45 = 'OK' THEN 1 ELSE 0 END) AS OK_45
FROM risultati
WHERE best_bets BETWEEN 1.15 AND 1.5O");
$data=mysql_fetch_assoc($result);
echo $data['OK_15'];
echo $data['OK_25'];
echo $data['OK_35'];
echo $data['OK_45'];

edit2:我也尝试过另一种方式,但没有:

$result=mysql_query("SELECT SUM(CASE WHEN over05 = 'OK' THEN 1 ELSE 0 END) AS OK_05,
       SUM(CASE WHEN over15 = 'OK' THEN 1 ELSE 0 END) AS OK_15,
       SUM(CASE WHEN over25 = 'OK' THEN 1 ELSE 0 END) AS OK_25,
       SUM(CASE WHEN over35 = 'OK' THEN 1 ELSE 0 END) AS OK_35,
       SUM(CASE WHEN over45 = 'OK' THEN 1 ELSE 0 END) AS OK_45
FROM risultati
WHERE best_bets BETWEEN 1.15 AND 1.5O");



while ($row = mysql_fetch_assoc($result)) 
{
    echo $row['OK_05'];
    echo $row['OK_15'];
    echo $row['OK_25'];
    echo $row['OK_35'];
    echo $row['OK_45'];

}

最佳答案

使用条件聚合:

SELECT SUM(CASE WHEN over05 = 'OK' THEN 1 ELSE 0 END) AS OK_05,
       SUM(CASE WHEN over15 = 'OK' THEN 1 ELSE 0 END) AS OK_15,
       SUM(CASE WHEN over25 = 'OK' THEN 1 ELSE 0 END) AS OK_25,
       SUM(CASE WHEN over35 = 'OK' THEN 1 ELSE 0 END) AS OK_35,
       SUM(CASE WHEN over45 = 'OK' THEN 1 ELSE 0 END) AS OK_45
FROM risultati
WHERE best_bets BETWEEN 1.15 AND 1.5O    -- or whatever restrictions you want

这种方法允许您在单个查询中收集所有年龄列的统计信息,而将“OK”限制的列检查放在一个查询中的单个列中。

关于php - 如何计算表格中的多列并使用php显示它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42163045/

相关文章:

php - 为博客构建 MySQL 数据库以包含 "labels"或 "tags"

php - 使用 Phpexcel 复制包含数据透视表和图表的工作表

java - 如何在不使用 hibernate 覆盖以前的数据的情况下为特定列插入新行

mysql - 如果存在则更新表否则插入

php - 使用PHP统计在线用户数量

javascript - 正则表达式排除包裹在特定 bbcode 标签中的匹配项

javascript - 从网络摄像头捕获个人资料图片

Android SQL 检索和设置多行

Mysql合并统计多列

mysql - 查找表中的类别数