2010-12-30 3 views
1

RSS 피드 묶음을 결합한 다음 날짜순으로 정렬하는 YQL 쿼리가 있습니다. 잘 작동하지만 결과에 페이지 매김을하고 싶습니다.YUI3 YQL 함께 한도 및 정렬 사용

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이다 :

여기 내 쿼리입니다. 따라서 제한이 5 인 경우 목록의 첫 번째 RSS 피드의 처음 5 개 항목 만 포함됩니다. 내 모든 결합 피드의 처음 5 개 항목이 아닙니다.

쿼리를 체인화 할 수있는 방법이 있습니까? 따라서 모든 결과를 정렬하고 내 결과를 제한하는 쿼리를 호출하는 모든 쿼리를 얻을 수 있습니다.

도움 주셔서 감사합니다.

답변

0

다른 방향으로 tail()과 추가로 sort()을 사용하면 어떨까요? 이 같은

뭔가 :

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='false') | tail(count=5) 

나는이 시도하지 않은 나는 당신이 필요로하는 정렬 순서 확실하지 않습니다하지만 당신은 반드시 사용 tail() 위해 할 수 있습니다. 외관상으로 동등한 head() 기능이 없기 때문에, 가장 새로운 품목이 당신의 분류 후에 끝인 ㄴ다는 것을 확인하십시오.

자세한 내용 http://developer.yahoo.com/yql/guide/sorting.html

1

필터링 된 피드의 제 5 개 항목을 얻을을 자르는 (= 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() 메소드도 사용할 수 있습니다.

http://developer.yahoo.com/yql/guide/sorting.html