【发布时间】:2018-06-29 17:28:53
【问题描述】:
Mysql查询,
SELECT qcat.name,
COUNT( CASE WHEN qas.state = "todo" THEN 1 END ) AS gtotal,
COUNT( CASE WHEN qas.state = "gradedright" THEN 1 END ) AS rightanswer,
COUNT( CASE WHEN qas.state = "gradedwrong" THEN 1 END ) AS wronganswer,
SUM(qas.fraction) AS grade,
quiza.id
FROM mdl_quiz_attempts quiza
JOIN mdl_question_attempts qa ON qa.questionusageid = quiza.uniqueid
JOIN mdl_question_attempt_steps qas ON qas.questionattemptid = qa.id
JOIN mdl_question qstn ON ( qa.`questionid` = qstn.id )
JOIN mdl_question_categories qcat ON ( qstn.`category` = qcat.id )
WHERE quiza.id=1173 and FIND_IN_SET(qstn.id, (1,2,3,4,5,6)) GROUP BY quiza.id,qcat.name
显示错误:#1241 - 操作数应包含 1 列
【问题讨论】:
-
尝试用
FIND_IN_SET(qstn.id, 1,2,3,4,5,6)替换FIND_IN_SET(qstn.id, (1,2,3,4,5,6))(去掉括号) -
无法正常显示,#1582 - 调用本机函数 'FIND_IN_SET' 错误中的参数计数不正确
-
我的错,尝试将
FIND_IN_SET(qstn.id, (1,2,3,4,5,6))替换为FIND_IN_SET(qstn.id, '1,2,3,4,5,6')(以字符串形式列出) -
没有错误,但输出为空..谢谢
-
好吧,你的错误就在哪里发生了。现在您需要编写一个返回数据的查询。
标签: php mysql moodle find-in-set