我有一个状态表,我在其中存储用户配置文件的完成分数。每天都会保存每个用户配置文件的列表分数。我想知道哪些个人资料得分随着时间的推移而提高:例如,那些昨天的得分高于两周前的得分。为此,我想使用一个我不能工作的子查询。
目前,我有以下内容:
SELECT user_id, completion_score
FROM user_profile_stats
WHERE date = curdate() - INTERVAL 1 DAY
AND completion_score > (
SELECT user_id, completion_score
FROM user_profile_stats
WHERE date = curdate() - INTERVAL 14 DAY
)我得到的错误是,子查询返回超过1行(这是正确的)。在这个论坛上搜索后,我发现我必须使用IN而不是>,但是我的查询并不是我希望它返回的结果。
如果你能解释我做错了什么,我将不胜感激。谢谢!
发布于 2018-02-15 16:19:18
使用LIMIT关键字将输出限制为1条记录
参考http://www.mysqltutorial.org/mysql-limit.aspx
我希望这将有助于解决这个问题。
https://stackoverflow.com/questions/48802649
复制相似问题