您有两种选择:
使用PHP添加功能
$ variable ++;
查询本身会产生结果
选项1:
这仅用于第一个问题,如果sql query不是您的第一选择,并且您不能自己添加其他问题,我将更新tommorow(添加其他问题)。
$sql = "SELECT * FROM table";
$result = mysqli_query($conn, $sql);
$x=0;$y=0;$z=0;
$count = mysqli_num_rows($result);
while($row = mysqli_fetch_assoc($result)) {
if ($row['q1'] == 'x')
{
$x++;
}
elsif ($row['q1'] == 'y')
{
$y++;
}
else ($row['q1'] == 'z')
{
$z++;
}
}
选项2:
仅sql解决方案是您可以尝试
hereselect answer, sum(ln+ln2+ln3+ln4+ln5+ln6) as count from (
SELECT answer,counter1 AS ln ,'' ln2, '' ln3,'' AS ln4,'' AS ln5, '' AS ln6
FROM
(SELECT q1 as answer, count(*) as Counter1
FROM `answers`
GROUP BY `q1`) AS tbl
union
SELECT answer,'' ln,counter2 AS ln2 , '' ln3,'' AS ln4,'' AS ln5, '' AS ln6
FROM
(SELECT q2 as answer, count(*) as Counter2
FROM `answers`
GROUP BY `q2`) AS tbl
union
SELECT answer,'' ln,'' AS ln2 ,counter3 as ln3,'' AS ln4,'' AS ln5, '' AS ln6
FROM
(SELECT q3 as answer, count(*) as Counter3
FROM `answers`
GROUP BY `q3`) AS tbl
union
SELECT answer,'' ln,'' AS ln2 ,'' AS ln3 ,counter4 as ln4,'' AS ln5, '' AS ln6
FROM
(SELECT q4 as answer, count(*) as Counter4
FROM `answers`
GROUP BY `q4`) AS tbl
union
SELECT answer,'' ln,'' AS ln2 ,'' AS ln3 ,'' AS ln4, counter5 as ln5, '' AS ln6
FROM
(SELECT q5 as answer, count(*) as Counter5
FROM `answers`
GROUP BY `q5`) AS tbl
union
SELECT answer,'' ln,'' AS ln2 ,'' AS ln3 ,'' AS ln4, '' AS ln5, counter6 as ln6
FROM
(SELECT q6 as answer, count(*) as Counter6
FROM `answers`
GROUP BY `q6`) AS tbl
)
a group by a.answer