【问题标题】:In YQL is there an option to only limit the first item of each feed?在 YQL 中是否可以选择仅限制每个提要的第一项?
【发布时间】:2010-08-09 07:18:19
【问题描述】:

在 YQL 查询中,我如何只返回每个提要的第一项(例如有 2 个提要,但我会有更多)

select channel.title,channel.link,channel.item.title,channel.item.link  
from xml where url in(  
  'http://code.flickr.com/blog/feed/rss/',  
  'http://www.quirksmode.org/blog/index.xml'  
) 

我知道 tail 选项,但这是在最终结果上设置的,我如何在每个提要中执行此操作

提前致谢

【问题讨论】:

    标签: yql


    【解决方案1】:

    您可以使用yql.query.multi 表进行多个查询,例如:

    select *
    from yql.query.multi where queries in (
        "select channel.title,channel.link,channel.item.title,channel.item.link from xml where url='http://code.flickr.com/blog/feed/rss/' limit 1",
        "select channel.title,channel.link,channel.item.title,channel.item.link from xml where url='http://www.quirksmode.org/blog/index.xml' limit 1"
    );
    

    或者,您可以只过滤原始查询,以便每个提要仅返回一个结果:

    select channel.title,channel.link,channel.item.title,channel.item.link  
    from xml where url in(  
        'http://code.flickr.com/blog/feed/rss/',  
        'http://www.quirksmode.org/blog/index.xml'  
     ) | unique(field="channel.link")
    

    【讨论】:

      【解决方案2】:

      通过在末尾添加 LIMIT 1

      select channel.title,channel.link,channel.item.title,channel.item.link  
      from xml where url in(  
        'http://code.flickr.com/blog/feed/rss/',  
        'http://www.quirksmode.org/blog/index.xml'  
      ) LIMIT 1
      

      【讨论】:

      • 不,LIMIT 1 限制了最终结果集,我想要每个提要的第一项,现在它只返回组合提要的第一项。
      猜你喜欢
      • 2012-03-21
      • 1970-01-01
      • 1970-01-01
      • 2019-01-01
      • 1970-01-01
      • 2011-01-14
      • 2012-11-10
      • 2018-02-01
      • 1970-01-01
      相关资源
      最近更新 更多