Mysql 计算每个用户的平均值

Mysql 计算每个用户的平均值,mysql,Mysql,我需要用mysql查询计算出认证的百分比,不知道是否有人能给我一些提示。以下是一些示例集: User 1: Failed: 1; Passed: 1 == Certified: Yes User 2: Failed: 0; Passed: 1 == Certified: Yes User 3: Failed: 3; Passed: 0 == Certified: No User 4: Failed: 2; Passed: 1 == Certified: Yes User 5: Failed: 4

我需要用mysql查询计算出认证的百分比,不知道是否有人能给我一些提示。以下是一些示例集:

User 1: Failed: 1; Passed: 1 == Certified: Yes
User 2: Failed: 0; Passed: 1 == Certified: Yes
User 3: Failed: 3; Passed: 0 == Certified: No
User 4: Failed: 2; Passed: 1 == Certified: Yes
User 5: Failed: 4; Passed: 0 == Certified: No
认证百分比=60%

数据库中的数据可能是这样的:

CourseName  StudentName StudentEmail    Status  
Course A    BB Tester   b@b.com         Pass
Course B    BB Tester   b@b.com         Fail
Course B    AA Tester   a@a.com         Fail
Course B    AA Tester   a@a.com         Fail
Course B    AA Tester   a@a.com         Pass
Course C    CC Tester   c@c.com         Pass
Course D    DD Tester   d@d.com         Fail

我应该如何包含这些查询。它必须在用户级别上完成,因此我怀疑子查询?

您可以使用以下内容:

SELECT ((SELECT count(*) FROM `your_data` WHERE `status`='Pass') / count(*))*100 FROM your_data
或此格式化版本:

SELECT CONCAT(ROUND((SELECT count(*) FROM `your_data` WHERE `status`='Pass') / count(*))*100,2),'%') FROM `your_data`

你想计算至少一次通过所有学生资格考试的学生人数吗?你能澄清决定是否通过资格考试的标准吗?有一张证书吗?你想要每门课程的认证百分比吗?鉴于您提供的输入示例表,请同时提供您期望的确切输出结果。这个问题需要一些帮助,而且它是一个“为我做一切”,无模式。选择pass.pass/total.total*100 from select countdistinct StudentName pass from tablename where Status=pass,从tablename中选择countdistinct StudentName totaltotal@DrewPierce但它不符合任何关闭条件?我只是运行了查询。非常感谢你。我真的很感激。它似乎给出了我所期望的结果。