我需要与执行以下操作查询帮助:导轨 - 复杂的SQL查询
- 开始从最新的记录,向下走的较旧的记录。
- 它需要通过created_at时间进行排序。
- 如果通过created_at时间在数据库中有新记录,请回顾它们,但不要获得我已经从步骤1获得的记录。
- 我一次只能获取16条记录。这个数字可以稍后改变。
- 请勿回顾之前发送的记录。
也只是为了让你知道,这是通过$ .ajax开始。
原因是因为我正在将新旧记录实时发送到客户端。认为就像用户开始访问网站一样,它会从新的开始获取当前记录。然后用户可以获取较旧的记录,但是在相同的请求下,它也检索到全新的记录。每次只能记录16条记录。
我有道理吗?
这是我目前有下面的代码:
RssEntry.includes(:RssItem).where("rss_items.rss_id in (?) AND (rss_entries.id < ? OR rss_entries.created_at > ?)", rssids, lid, time).order("rss_entries.id DESC").limit(16)
lid = last lowest id from those records
rssids = ids from where to get the records
time = last time it did the records call
上面的代码仅仅是个开始。我现在需要帮助以确保它符合我上面的要求。
更新1
好了,我能够做到我想要的东西,但在2个SQL查询。我真的不认为有可能在一个SQL查询中执行我想要的操作。
任何帮助,非常感谢。
谢谢。
它甚至可以在我的需求在一个SQL查询?或者我必须在两个查询中做到这一点? –