IMY Learning
Back to Questions

23. Top 10 Videos by Views

Solution ↗
Medium
Tables: videos, video_stats
+-------------------------+-------------+
| Column Name             | Type        |
+-------------------------+-------------+
| video_id                | varchar     |
| channel_id              | varchar     |
| title                   | varchar     |
| published_at            | datetime    |
+-------------------------+-------------+
videos contains one row per video.
video_id is the primary key for this table.
channel_id is a foreign key referencing channels.channel_id.
+-------------------------+-------------+
| Column Name             | Type        |
+-------------------------+-------------+
| video_id                | varchar     |
| view_count              | bigint      |
| like_count              | bigint      |
| comment_count           | bigint      |
+-------------------------+-------------+
video_stats contains performance metrics for each video.
video_id is the primary key for this table and references videos.video_id.
Write a SQL query to find the top 10 most viewed videos. Return video_id, title, and view_count.
Hint
Tip: Join videos with video_stats on video_id.
Input:
videos table:
+----------+------------+-------------------+---------------------+
| video_id | channel_id | title             | published_at        |
+----------+------------+-------------------+---------------------+
| V1       | C101       | Python Basics     | 2024-01-11 10:00:00 |
| V2       | C101       | Tableau Project   | 2024-03-05 10:00:00 |
| V3       | C102       | SQL Joins         | 2024-04-10 09:00:00 |
| V4       | C102       | Window Functions  | 2024-05-01 09:00:00 |
| V5       | C103       | Intro to MySQL    | 2024-02-07 11:30:00 |
+----------+------------+-------------------+---------------------+

video_stats table:
+----------+------------+------------+---------------+
| video_id | view_count | like_count | comment_count |
+----------+------------+------------+---------------+
| V1       | 1500000    | 91000      | 4200          |
| V2       | 2500000    | 135000     | 6100          |
| V3       | 3000000    | 150000     | 8000          |
| V4       | 1000000    | 47000      | 2500          |
| V5       | 800000     | 36000      | 1400          |
+----------+------------+------------+---------------+
Output:
Output:
+----------+------------------+------------+
| video_id | title            | view_count |
+----------+------------------+------------+
| V3       | SQL Joins        | 3000000    |
| V2       | Tableau Project  | 2500000    |
| V1       | Python Basics    | 1500000    |
+----------+------------------+------------+
Explanation:

After joining metadata and stats, the result is sorted by view_count descending.

SQL Editor
Click "Run SQL" to execute the query and see results here.
About Us Contact Us Privacy Policy Terms & Conditions
© 2026 IMY Learning. All rights reserved.