Elsevier uses discipline-level citation analytics to compare papers indexed in Scopus. Write a PostgreSQL query that counts citations for each paper and ranks papers within their academic discipline.
citations table.RANK() and DENSE_RANK() rankings within each discipline, ordered by citation count descending.articles: 101, “RNA Folding in Cells”, Biology; 102, “Plant Genome Networks”, Biology; 107, “Graph Neural Models”, Computer Science; 108, “Efficient Vector Search”, Computer Science.
citations: three rows for article 101, two rows for article 102, and one row each for articles 107 and 108.
| Column | Type | Description |
|---|---|---|
| discipline_idPK | INTEGER | Unique identifier for an academic discipline |
| discipline_name | VARCHAR(100) | Name of the academic discipline |
| Column | Type | Description |
|---|---|---|
| article_idPK | INTEGER | Unique identifier for a scientific article |
| title | VARCHAR(200) | Title of the scientific article |
| discipline_id | INTEGER | References the article's academic discipline |
| Column | Type | Description |
|---|---|---|
| citation_idPK | INTEGER | Unique identifier for a citation record |
| article_id | INTEGER | Identifier of the cited article |