嗨,伙计们,我真的很喜欢sql,所以请对我这个温柔。我正在尝试运行一个查询,该查询将在过去两周内提取所有已创建create_at或updated_at的记录。
我做了一些阅读,这是我到目前为止
SELECT * FROM sms_development.scores WHERE DATE(created_at) = CURDATE() - INTERVAL 14 DAY AND CURDATE() OR DATE(updated_at) = CURDATE() - INTERVAL 14 DAY AND CURDATE();
这看起来非常巨大而且根本不干燥。并且由于某种原因它不起作用。如果我将它输入MySQL工作台,它会给我一个绿灯,但我不知道我是否犯了一个错误的错误。但没有记录。
非常感谢任何有用的建议或技巧
答案 0 :(得分:0)
你应该尽可能多地通过Rails查找器做到这一点;它们至少可以部分移植到其他数据存储引擎,所以如果你从SQLite切换到Postgres,你将不必重写(尽可能多)代码。
我会这样做:
Score.where('created_at > ? OR updated_at > ?', DateTime.now - 2.weeks, DateTime.now - 2.weeks).all