{ "data": { "question": { "questionId": "3996", "questionFrontendId": "3642", "categoryTitle": "Database", "boundTopicId": 3745957, "title": "Find Books with Polarized Opinions", "titleSlug": "find-books-with-polarized-opinions", "content": "
Table: books
\n+-------------+---------+\n| Column Name | Type |\n+-------------+---------+\n| book_id | int |\n| title | varchar |\n| author | varchar |\n| genre | varchar |\n| pages | int |\n+-------------+---------+\nbook_id is the unique ID for this table.\nEach row contains information about a book including its genre and page count.\n\n\n
Table: reading_sessions
\n+----------------+---------+\n| Column Name | Type |\n+----------------+---------+\n| session_id | int |\n| book_id | int |\n| reader_name | varchar |\n| pages_read | int |\n| session_rating | int |\n+----------------+---------+\nsession_id is the unique ID for this table.\nEach row represents a reading session where someone read a portion of a book. session_rating is on a scale of 1-5.\n\n\n
Write a solution to find books that have polarized opinions - books that receive both very high ratings and very low ratings from different readers.
\n\nat least one rating ≥ 4
and at least one rating ≤ 2
5
reading sessionshighest_rating - lowest_rating
)ratings ≤ 2 or ≥ 4
) divided by total sessionspolarization score ≥ 0.6
(at least 60%
extreme ratings)Return the result table ordered by polarization score in descending order, then by title in descending order.
\n\nThe result format is in the following example.
\n\n\n
Example:
\n\nInput:
\n\nbooks table:
\n\n\n+---------+------------------------+---------------+----------+-------+\n| book_id | title | author | genre | pages |\n+---------+------------------------+---------------+----------+-------+\n| 1 | The Great Gatsby | F. Scott | Fiction | 180 |\n| 2 | To Kill a Mockingbird | Harper Lee | Fiction | 281 |\n| 3 | 1984 | George Orwell | Dystopian| 328 |\n| 4 | Pride and Prejudice | Jane Austen | Romance | 432 |\n| 5 | The Catcher in the Rye | J.D. Salinger | Fiction | 277 |\n+---------+------------------------+---------------+----------+-------+\n\n\n
reading_sessions table:
\n\n\n+------------+---------+-------------+------------+----------------+\n| session_id | book_id | reader_name | pages_read | session_rating |\n+------------+---------+-------------+------------+----------------+\n| 1 | 1 | Alice | 50 | 5 |\n| 2 | 1 | Bob | 60 | 1 |\n| 3 | 1 | Carol | 40 | 4 |\n| 4 | 1 | David | 30 | 2 |\n| 5 | 1 | Emma | 45 | 5 |\n| 6 | 2 | Frank | 80 | 4 |\n| 7 | 2 | Grace | 70 | 4 |\n| 8 | 2 | Henry | 90 | 5 |\n| 9 | 2 | Ivy | 60 | 4 |\n| 10 | 2 | Jack | 75 | 4 |\n| 11 | 3 | Kate | 100 | 2 |\n| 12 | 3 | Liam | 120 | 1 |\n| 13 | 3 | Mia | 80 | 2 |\n| 14 | 3 | Noah | 90 | 1 |\n| 15 | 3 | Olivia | 110 | 4 |\n| 16 | 3 | Paul | 95 | 5 |\n| 17 | 4 | Quinn | 150 | 3 |\n| 18 | 4 | Ruby | 140 | 3 |\n| 19 | 5 | Sam | 80 | 1 |\n| 20 | 5 | Tara | 70 | 2 |\n+------------+---------+-------------+------------+----------------+\n\n\n
Output:
\n\n\n+---------+------------------+---------------+-----------+-------+---------------+--------------------+\n| book_id | title | author | genre | pages | rating_spread | polarization_score |\n+---------+------------------+---------------+-----------+-------+---------------+--------------------+\n| 1 | The Great Gatsby | F. Scott | Fiction | 180 | 4 | 1.00 |\n| 3 | 1984 | George Orwell | Dystopian | 328 | 4 | 1.00 |\n+---------+------------------+---------------+-----------+-------+---------------+--------------------+\n\n\n
Explanation:
\n\nThe result table is ordered by polarization score in descending order, then by book title in descending order.
\n\\u7248\\u672c\\uff1a mssql server 2019.<\\/p>\"],\"oraclesql\":[\"Oracle\",\" Oracle Sql 11.2.<\\/p>\"],\"pythondata\":[\"Pandas\",\" Python 3.10 with Pandas 2.2.2 and NumPy 1.26.4<\\/p>\"],\"postgresql\":[\"PostgreSQL\",\" PostgreSQL 16<\\/p>\"]}",
"book": null,
"isSubscribed": false,
"isDailyQuestion": false,
"dailyRecordStatus": null,
"editorType": "CKEDITOR",
"ugcQuestionId": null,
"style": "LEETCODE",
"exampleTestcases": "{\"headers\":{\"books\":[\"book_id\",\"title\",\"author\",\"genre\",\"pages\"],\"reading_sessions\":[\"session_id\",\"book_id\",\"reader_name\",\"pages_read\",\"session_rating\"]},\"rows\":{\"books\":[[1,\"The Great Gatsby\",\"F. Scott\",\"Fiction\",180],[2,\"To Kill a Mockingbird\",\"Harper Lee\",\"Fiction\",281],[3,\"1984\",\"George Orwell\",\"Dystopian\",328],[4,\"Pride and Prejudice\",\"Jane Austen\",\"Romance\",432],[5,\"The Catcher in the Rye\",\"J.D. Salinger\",\"Fiction\",277]],\"reading_sessions\":[[1,1,\"Alice\",50,5],[2,1,\"Bob\",60,1],[3,1,\"Carol\",40,4],[4,1,\"David\",30,2],[5,1,\"Emma\",45,5],[6,2,\"Frank\",80,4],[7,2,\"Grace\",70,4],[8,2,\"Henry\",90,5],[9,2,\"Ivy\",60,4],[10,2,\"Jack\",75,4],[11,3,\"Kate\",100,2],[12,3,\"Liam\",120,1],[13,3,\"Mia\",80,2],[14,3,\"Noah\",90,1],[15,3,\"Olivia\",110,4],[16,3,\"Paul\",95,5],[17,4,\"Quinn\",150,3],[18,4,\"Ruby\",140,3],[19,5,\"Sam\",80,1],[20,5,\"Tara\",70,2]]}}",
"__typename": "QuestionNode"
}
}
}MySQL 8.0<\\/code><\\/p>\"],\"mssql\":[\"MS SQL Server\",\"