gpt4 book ai didi

合并两个表然后应用计数的sql查询

转载 作者:行者123 更新时间:2023-11-29 13:31:13 25 4
gpt4 key购买 nike

我有两个数据集 paper_data 和 paper_author

论文作者:

paper_id author_id
1 521630
1 972575
1 1528710
2 521630
2 1682088
3 1682088

论文数据:

paper_id paper_year
1 2009
2 2007
3 1963
4 2005
5 1997

我想找到作者撰写论文的不同年份的编号,例如:

author_id   paper_id  paper_year    distinct_paper_year_count  
521630 1,2 2009,2007 2
972575 1 2009 1
1528710 1 2009 1
1682088 2,3 2007,1963 2

所以我希望最终结果为:

author_id    distinct_paper_year_count
521630 2
972575 1
1528710 1
1682088 2

我能够到达:

author_id paper_year
521630 2009
972575 2009
.....

通过运行一个简单的查询:

statement<-"select paper_author.author_id,paper_data.paper_year 
from paper_author,paper_data
where paper_author.paper_id=paper_data.paper_id"

但后来我卡住了。这怎么可能呢?

谢谢

最佳答案

应该这样做:

select paper_author.author_id,
count(distinct paper_data.paper_year) as distinct_paper_year_count
from paper_author
join paper_data on paper_author.paper_id = paper_data.paper_id
group by paper_author.author_id

请注意,我将 where 子句中过时的隐式连接替换为显式 JOIN 条件,该条件优于隐式条件。

关于合并两个表然后应用计数的sql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22741544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com