我有一个 YQL 查询,它组合了一堆 RSS 提要,然后按日期对它们进行排序。它工作得很好,但我希望能够对结果进行分页。
这是我的查询:
select channel.item.title, channel.item.link, channel.item.pubDate, channel.item.description(0) from xml where url in(... urls go here ...) | unique(field='channel.item.link') | sort(field='channel.item.pubDate', descending='true')
问题在于 yql 在排序过滤器之前执行 LIMIT 和 OFFSET。因此,如果我有 LIMIT 5,我最终只会得到列表中第一个 RSS feed 的前 5 项...而不是所有组合 feed 的前 5 项。
有没有办法链接查询,以便我可以获得对所有结果进行排序的所有查询,并调用限制我的结果的查询。
感谢您的帮助。
最佳答案
使用 truncate(count=5) 获取过滤后的 feed 的前 5 项。
select channel.item.title, channel.item.link, channel.item.pubDate, channel.item.description(0) from xml where url in(... urls go here ...) | unique(field='channel.item.link') | sort(field='channel.item.pubDate', descending='true') | truncate(count=5)
或者具有反向排序的 tail() 方法(上面发布的)也可以工作。
关于javascript - YUI3 YQL同时使用限制和排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4565680/