基本上这是一个调查系统,我想从我的结果表中计算是和否的
| 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否是2是和q2 = 4是0否是等等 之后,我希望将它显示在一个简单的表中,但我仍然对查询一无所知
<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>
答案 0 :(得分:1)
只需使用布尔表达式:
select ((q1 = 'Yes') + (q2 = 'Yes') + . . . + (q10 = 'Yes')) as numYes
MySQL将条件表达式视为数字上下文中的数字,其中1表示true,0表示false。
答案 1 :(得分:1)
在MySQL中(仅)true
为1
且false
为0
,因此总结条件计算它的真实次数:
select
sum((q1 = 'Yes') + (q2 = 'Yes') + ... etc) yeses,
sum((q1 = 'No') + (q2 = 'No') + ... etc) nod
from mytable