gpt4 book ai didi

mysql - 查找每个项目的总百分比

转载 作者:行者123 更新时间:2023-11-30 22:17:32 25 4
gpt4 key购买 nike

我有一个 MYSQL 数据库,可以跟踪学生在测试中的正确和错误。它有 Student、questionID 和 trakStatus 列(记录正确/错误)。我想要编制的是一个按问题 ID 排列的列表,其中列出了学生对每个问题的正确率。

目前,当我运行我的 SQL 行时,它吐出一个问题 ID 列表,但所有问题 ID 都具有相同的百分比计算,即最后一个问题的百分比。输出将如下所示:

**QuestionID**   **Percentage**
1001 .2459
1002 .2459
1003 .2459
etc.

我想要的是每个问题 ID 的不同百分比计算。这是我目前使用的 SQL:

SELECT questionID, 
(SELECT COUNT( * )
FROM storedQuestions
WHERE trakStatus = 'Wrong') /
(SELECT COUNT( * )
FROM storedQuestions
WHERE (
trakStatus = 'Wrong'
OR trakStatus = 'Right'
) ) AS Percentage
FROM storedQuestions
GROUP BY questionID

我不知道我哪里出错了。这似乎应该有效。任何建议将不胜感激。谢谢!

最佳答案

你不需要子查询,只需要条件聚合:

SELECT questionID, 
SUM(trakStatus = 'Wrong') / SUM(trakStatus IN ('Wrong', 'Right')) as Percentage
FROM storedQuestions
GROUP BY questionID;

如果 trackStatus 只接受这两个值,您可以将其简化为:

SELECT questionID, 
AVG(trakStatus = 'Wrong') as Percentage
FROM storedQuestions
GROUP BY questionID;

关于mysql - 查找每个项目的总百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37767758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com