Your question is Rank Papers by Discipline. Start with the requirements and the three tables on the right.
Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.
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 |