无法弄清楚如何在sqlite3

时间:2015-06-17 15:29:30

标签: sql python-2.7 sqlite

我的sqlite3数据库中有以下3个表:

1-出版物清单ID,出版物年份,出版的会议以及被引用的次数:

CREATE TABLE publications (
    ID integer primary key,
    Year integer,
    Conference varchar(150),
    Citations integer
);

2-每篇论文引用的参考文献清单。 (这是出版物引用的论文(参考文献)清单,而不是之前的论文,该文件说明出版物本身被其他出版物引用了多少次)

CREATE TABLE publications_references (
    PaperID integer,
    ReferenceID integer,
    PRIMARY KEY(PaperID, ReferenceID)
);

3-将每位作者与其出版物进行匹配。许多出版物有多位作者,大多数作者都有多篇出版物。

CREATE TABLE authors_publications (
    AuthorID integer,   
    PaperID integer,    
    PRIMARY KEY(PaperID, AuthorID)
);

这是我正在尝试做的而不是成功的:

  • 一个精选语句,它给出了每位作者每年取得的引文数量。为此,我需要执行以下操作:

    1. 查看每位作者是否将出版物列为参考,并根据年份对其进行分类。

    2. 弄清楚从1994年到2013年,每年有多少次他人的工作被引用。

  • 一个精选语句,它给出了每个会议每年取得的引用次数。为此,我需要执行以下操作:

    1. 查看每个会议是否列出了作为参考的出版物,并根据年份对其进行分类。

    2. 计算1994年至2013年期间每年其他人参与会议出版物的次数。

我希望最终得到一张如下所示的表:

  1. AuthorID,Year,CitationsforthatYear

  2. 会议,年份,CitationsforthatYear

  3. 对于2,这是我到目前为止所做的:

    Select Conference, Year, Count(ReferenceID) as CitationsforthatYear
    from publications 
    join publications_references
    on ID=PaperID
    group by Conference, Year
    

    由于某种原因,它不能正常工作。也许我应该使用左连接?

0 个答案:

没有答案