我正在做一个基于测验的项目,用户访问并进行测验。我想列出的用户谁必须出现在5个模块的测验中,每失败计数。我把这个弄对了。现在,如果一个用户再次出现在5个测验中的任何一个,并且通过了它,那么他/她不能被包括在前面提到的计数中。
我对所有5个模块中出现并失败的用户数的查询是,
SELECT count(DISTINCT module_id) as module_id from tbl WHERE user_id = $userId AND cleared = 0,
其中user\u id是用户的id,如果失败则清除为0,如果通过则清除为1。尽管上面的查询统计用户通过的模块数。我在函数中使用它,然后在if语句中进行比较。我只想弄清楚我能在这里带来什么变化,这样如果用户传入任何模块,它们就不应该包含在这个模块中。我试过了,但没有得到正确的答案。任何建议都会有帮助。
1条答案
按热度按时间bvn4nwqk1#
使用条件聚合:
如果要将上述查询限制为仅一个或几个用户,则可以将
WHERE
条款。