使用子查询

时间:2018-02-15 08:16:04

标签: mysql

我有一个状态表,其中存储用户配置文件的完成分数。每天都会保存每个用户个人资料的列表分数。 我想知道哪个档案得分会随着时间的推移而改善:例如昨天比两周前得分高的人。为此,我想使用一个我无法工作的子查询。

目前,我有这个:

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而不是>,但后来我的查询不是我希望它返回的。

我很感激你对我做错了什么的解释。谢谢!

1 个答案:

答案 0 :(得分:1)

使用LIMIT关键字将输出限制为1记录

参考http://www.mysqltutorial.org/mysql-limit.aspx

我希望这有助于解决此问题