我有这个问题:
select skill.name, IFNULL(Round(((SUM(ROUND((student_skills.value/skill.value)*100,0)))/82),0),0) as successRate from skill left JOIN student_skills on skill.id = student_skills.skill_id group by skill.name
此查询完全返回我想要的内容,但我需要将常量82(仅作为示例)替换为表 user 中的行数(类似于COUNT(user.name))。
问题是使用 r与技能或 student_skill 表格无关。
我应该如何更改查询以便使用当前的用户数?
由于
答案 0 :(得分:1)
使用子查询
select skill.name,
IFNULL(Round(((SUM(ROUND((student_skills.value/skill.value)*100,0)))/(select COUNT(*) from user)),0),0) as successRate
from skill
left JOIN student_skills on skill.id = student_skills.skill_id
group by skill.name