SELECT
c.publication_number AS Pub,
COUNT(DISTINCT REGEXP_EXTRACT(p.publication_number, r'(.+-.+)-')) AS CitedByCount
FROM `patents-public-data.patents.publications` AS p,
UNNEST(citation) AS c
WHERE c.publication_number IN (
SELECT publication_number
FROM `patents-public-data.patents.publications`
WHERE application_number IN ('CN-201510747352-A')
)
GROUP BY c.publication_number我可以使用应用程序编号来获取CitedBy,但结果是Pub和CitedBy。如何实现结果包含申请号和CitedBy的目的?
发布于 2018-12-02 21:43:56
也许你不想要group by
select c.publication_number as Pub,
regexp_extract(p.publication_number, r'(.+-.+)-')) as cited_by
from `patents-public-data.patents.publications` p cross join
unnest(citation) c
where c.publication_number in (select publication_number
from `patents-public-data.patents.publications`
where application_number in ('CN-201510747352-A')
);或者,您可以将它们聚合到一个数组中:
select c.publication_number as Pub,
array_agg(distinct regexp_extract(p.publication_number, r'(.+-.+)-'))) as cited_bys
from `patents-public-data.patents.publications` p cross join
unnest(citation) c
where c.publication_number in (select publication_number
from `patents-public-data.patents.publications`
where application_number in ('CN-201510747352-A')
)
group by c.publication_number;https://stackoverflow.com/questions/53578114
复制相似问题