0

嗨,伙计们,我真的是 sql 新手,所以请对我温柔一点。我正在尝试运行一个查询,它将提取过去两周内 created_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 工作台,它会给我一个绿灯,但我不知道我是否犯了语法错误或其他什么。但没有记录被提取。

非常感谢任何有用的建议或技术

4

1 回答 1

0

你应该尽可能多地通过 Rails finder 来做这件事;它们至少可以部分移植到其他数据存储引擎,所以如果你从 SQLite 切换到 Postgres,你就不必重写(尽可能多的)代码。

我会这样做:

Score.where('created_at > ? OR updated_at > ?', DateTime.now - 2.weeks, DateTime.now - 2.weeks).all
于 2012-07-19T15:36:12.890 回答