parent
7ba9463949
commit
eb954549af
1 changed files with 72 additions and 0 deletions
@ -0,0 +1,72 @@ |
||||
--- |
||||
title: Latest Category Books |
||||
description: Practice using correlated subqueries to find the most recent books in each category |
||||
order: 141 |
||||
type: challenge |
||||
setup: | |
||||
```sql |
||||
CREATE TABLE book ( |
||||
id INT PRIMARY KEY, |
||||
title VARCHAR(100), |
||||
category VARCHAR(50), |
||||
published_date DATE, |
||||
price DECIMAL(10,2) |
||||
); |
||||
|
||||
INSERT INTO book (id, title, category, published_date, price) VALUES |
||||
(1, 'SQL Basics', 'Programming', '2023-06-15', 29.99), |
||||
(2, 'Advanced SQL', 'Programming', '2024-01-20', 49.99), |
||||
(3, 'Data Science', 'Data Analysis', '2023-12-10', 39.99), |
||||
(4, 'Web Development', 'Programming', '2023-09-01', 34.99), |
||||
(5, 'Statistics 101', 'Data Analysis', '2024-02-15', 24.99), |
||||
(6, 'Machine Learning', 'Data Analysis', '2023-11-15', 44.99), |
||||
(7, 'Python Basics', 'Programming', '2024-02-01', 29.99), |
||||
(8, 'R Programming', 'Data Analysis', '2024-01-05', 34.99); |
||||
``` |
||||
--- |
||||
|
||||
The bookstore wants to highlight the most recently published book in each category. This will help them promote their newest offerings to customers. |
||||
|
||||
Given the following data in table `book`: |
||||
|
||||
| id | title | category | published_date | price | |
||||
| --- | --------------- | ------------- | -------------- | ----- | |
||||
| 1 | SQL Basics | Programming | 2023-06-15 | 29.99 | |
||||
| 2 | Advanced SQL | Programming | 2024-01-20 | 49.99 | |
||||
| 3 | Data Science | Data Analysis | 2023-12-10 | 39.99 | |
||||
| 4 | Web Development | Programming | 2023-09-01 | 34.99 | |
||||
| 5 | Statistics 101 | Data Analysis | 2024-02-15 | 24.99 | |
||||
| 6 | Machine Learning| Data Analysis | 2023-11-15 | 44.99 | |
||||
| 7 | Python Basics | Programming | 2024-02-01 | 29.99 | |
||||
| 8 | R Programming | Data Analysis | 2024-01-05 | 34.99 | |
||||
|
||||
Write a query that finds the most recently published book in each category. The query should show: |
||||
|
||||
- Category |
||||
- Book title |
||||
- Published date |
||||
- Price |
||||
|
||||
## Expected Output |
||||
|
||||
| category | title | published_date | price | |
||||
| ------------- | -------------- | -------------- | ----- | |
||||
| Data Analysis | Statistics 101 | 2024-02-15 | 24.99 | |
||||
| Programming | Python Basics | 2024-02-01 | 29.99 | |
||||
|
||||
## Solution |
||||
|
||||
```sql |
||||
SELECT |
||||
b1.category, |
||||
b1.title, |
||||
b1.published_date, |
||||
b1.price |
||||
FROM book b1 |
||||
WHERE b1.published_date = ( |
||||
SELECT MAX(published_date) |
||||
FROM book b2 |
||||
WHERE b2.category = b1.category |
||||
) |
||||
ORDER BY b1.category; |
||||
``` |
Loading…
Reference in new issue