Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL正在计算两个别名的百分比_Mysql_Sql - Fatal编程技术网

MySQL正在计算两个别名的百分比

MySQL正在计算两个别名的百分比,mysql,sql,Mysql,Sql,我已经设法计算出我需要什么,现在我想知道我如何能够表示两个别名的百分比比率 SELECT c.fullname, COUNT( DISTINCT cc.userid ) AS 'calc1', COUNT( DISTINCT sst.id ) AS 'calc2' FROM mdl_course c INNER JOIN mdl_course_completions cc ON c.id = cc.course INNER JOIN mdl_scorm s ON s.course = c.i

我已经设法计算出我需要什么,现在我想知道我如何能够表示两个别名的百分比比率

SELECT c.fullname, COUNT( DISTINCT cc.userid ) AS  'calc1', COUNT( DISTINCT sst.id ) AS  'calc2'
FROM mdl_course c
INNER JOIN mdl_course_completions cc ON c.id = cc.course
INNER JOIN mdl_scorm s ON s.course = c.id
INNER JOIN mdl_scorm_scoes_track sst ON s.id = sst.scormid
INNER JOIN mdl_user u ON u.id = sst.userid
WHERE timecompleted IS NOT NULL 
AND sst.element =  'x.start.time'
GROUP BY c.fullname
ORDER BY  `calc2` DESC  
我尝试了
concat(round((SELECT('Calc1')/SELECT('Calc2')*100),2),“%”作为百分比
但它不起作用

查询表示

fullname  calc1 calc2
Something1  29    92
Something2  16    81
Something3  30    75
您可以尝试以下查询:

您可以尝试以下查询:


期望的结果是什么?calc1到Calc2的百分比表示你能在这里添加结果列吗?你检查过我们的ans吗?对不起,我失业了。我明天去查。谢谢:)期望的结果是什么?calc1到Calc2的百分比表示你能在这里添加结果栏吗?你检查过我们的ans吗?对不起,我失业了。我明天去查。谢谢:)开始时少了几个,但它起作用了!谢谢!开始时少了几个,但它起作用了!谢谢!
select fullname, calc1, calc2, (calc1*100/calc2) per_ration from
( SELECT c.fullname, COUNT( DISTINCT cc.userid ) AS  'calc1', COUNT( DISTINCT sst.id ) AS  'calc2'
FROM mdl_course c
INNER JOIN mdl_course_completions cc ON c.id = cc.course
INNER JOIN mdl_scorm s ON s.course = c.id
INNER JOIN mdl_scorm_scoes_track sst ON s.id = sst.scormid
INNER JOIN mdl_user u ON u.id = sst.userid
WHERE timecompleted IS NOT NULL 
AND sst.element =  'x.start.time'
GROUP BY c.fullname
ORDER BY  `calc2` DESC ) as temp_tab;
SELECT c.fullname, COUNT( DISTINCT cc.userid ) AS  'calc1', COUNT( DISTINCT sst.id ) AS  'calc2',
round(COUNT( DISTINCT cc.userid )/COUNT( DISTINCT sst.id ) )*100),2) as result
FROM mdl_course c
INNER JOIN mdl_course_completions cc ON c.id = cc.course
INNER JOIN mdl_scorm s ON s.course = c.id
INNER JOIN mdl_scorm_scoes_track sst ON s.id = sst.scormid
INNER JOIN mdl_user u ON u.id = sst.userid
WHERE timecompleted IS NOT NULL 
AND sst.element =  'x.start.time'
GROUP BY c.fullname
ORDER BY  `calc2` DESC