Mysql 计算每个用户的平均值
我需要用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
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但它不符合任何关闭条件?我只是运行了查询。非常感谢你。我真的很感激。它似乎给出了我所期望的结果。