【问题标题】:Selecting and displaying the count of rows with the same value in a table选择并显示表中具有相同值的行数
【发布时间】:2017-05-23 04:08:17
【问题描述】:

基本上这是一个调查系统,我想从我的结果表中计算是和否,该表有

  | q1  | q2  | q3 | q4 | q5 | q6  | q7 | q8  | q9  | q10 |

  | Yes | Yes | No | No | No | Yes | No | Yes | Yes | No  |

  | No | Yes | No | Yes | Yes | Yes | No | No  | Yes | No |

  | Yes | Yes | No | No | No | Yes | No | Yes | Yes | No  |

  | No | Yes | No | Yes | Yes | Yes | No | No  | Yes | No |

例如,我希望我的结果是 q1 = 2 No's 2 Yes 和 q2 = 4 yes 0 No's 等等 然后在那之后我希望将它显示在一个简单的表格中,但我仍然对查询一无所知


<body>

<form method="POST">


    <table border="1">

            <th>Answered Yes</th>
            <th>Answered No</th>
        </tr>

        <?php
        include("testdb.php");
        $result= mysqli_query($con, "SELECT * FROM results");

        if($result){

        ?>


    </table>

</body>

【问题讨论】:

    标签: mysql count html-table rows


    【解决方案1】:

    只需使用布尔表达式:

    select ((q1 = 'Yes') + (q2 = 'Yes') + . . .  + (q10 = 'Yes')) as numYes
    

    MySQL 将条件表达式视为数字上下文中的数字,1 表示真,0 表示假。

    【讨论】:

    • @pinoy,他们的答案是正确的,在 php 部分只做if ($result = mysqli-&gt;query("PUT THEIR QUERIES HERE")) { print_r($result); },它会给你获取结果的结构:)
    • 先生,我认为我做的事情不对,它不适合我
    【解决方案2】:

    在 MySQL 中(仅)true1false0,所以总结一个条件计数多少次它是真的:

    select
        sum((q1 = 'Yes') + (q2 = 'Yes') + ... etc) yeses,
        sum((q1 = 'No') + (q2 = 'No') + ... etc) nod
    from mytable
    

    【讨论】:

    • No's 怎么样?
    • 好的,谢谢,但是先生,我怎样才能使用 fetch 数组显示 Yes 和 No 的计数? @波西米亚
    • @pinoy 你到底是什么意思?是否需要 2 行,1 行是,1 行是否?
    • 是的,先生,基本上显示了有多少人做了是和否,就像上面的例子一样,第一季度它有 2 个是和 2 个没有。 @波西米亚
    • @pinoy 立即尝试
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-03
    • 2016-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多