通过sql检索重复记录

时间:2014-03-12 09:55:11

标签: sql

我有像

这样的数据
paper Id Author Id  

1          15
2          13 
3          12
3          11 
4          10
4          10
4          9 

我想选择有多位作者的论文。所以我的数据应该是

paper Id   Author Id
3            12
3            11
4            10
4             9

我尝试过使用sql查询:

statement<-"SELECT PaperId,AuthorId,COUNT(PaperId) 
            FROM author_data_pap_aut
            GROUP BY PaperId,AuthorId
            HAVING ( COUNT(*) >1 )"

但它不起作用。我怎样才能得到理想的结果

谢谢

2 个答案:

答案 0 :(得分:6)

您需要使用group_concat()功能来执行您的流程

答案 1 :(得分:1)

SELECT PaperId 
FROM author_data_pap_aut
GROUP BY PaperId
HAVING COUNT(distinct AuthorId) > 1

如果您还需要作者,请使用

select distinct PaperId, AuthorId
from author_data_pap_aut
where PaperId in
(
    SELECT PaperId 
    FROM author_data_pap_aut
    GROUP BY PaperId
    HAVING COUNT(distinct AuthorId) > 1
)