From a62d08de1264782dd904f60301c4968f98c8a0fa Mon Sep 17 00:00:00 2001 From: ivanbyone Date: Wed, 2 Jul 2025 11:00:34 +0300 Subject: [PATCH] task: #1407 --- README.md | 1 + leetcode/easy/1407. Top Travellers.sql | 43 ++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 leetcode/easy/1407. Top Travellers.sql diff --git a/README.md b/README.md index 5f8756b..5ab2bb0 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ Have a good contributing! - [619. Biggest Single Number](./leetcode/easy/619.%20Biggest%20Single%20Number.sql) - [620. Not Boring Movies](./leetcode/easy/620.%20Not%20Boring%20Movies.sql) - [1068. Product Sales Analysis I](./leetcode/easy/1068.%20Product%20Sales%20Analysis%20I.sql) + - [1407. Top Travellers](./leetcode/easy/1407.%20Top%20Travellers.sql) 2. [Medium](./leetcode/medium/) - [176. Second Highest Salary](./leetcode/medium/176.%20Second%20Highest%20Salary.sql) - [184. Department Highest Salary](./leetcode/medium/184.%20Department%20Highest%20Salary.sql) diff --git a/leetcode/easy/1407. Top Travellers.sql b/leetcode/easy/1407. Top Travellers.sql new file mode 100644 index 0000000..141d695 --- /dev/null +++ b/leetcode/easy/1407. Top Travellers.sql @@ -0,0 +1,43 @@ +/* +Question 1407. Top Travellers +Link: https://leetcode.com/problems/top-travellers/description/ + +Table: Users + ++---------------+---------+ +| Column Name | Type | ++---------------+---------+ +| id | int | +| name | varchar | ++---------------+---------+ +id is the column with unique values for this table. +name is the name of the user. + + +Table: Rides + ++---------------+---------+ +| Column Name | Type | ++---------------+---------+ +| id | int | +| user_id | int | +| distance | int | ++---------------+---------+ +id is the column with unique values for this table. +user_id is the id of the user who traveled the distance "distance". + + +Write a solution to report the distance traveled by each user. + +Return the result table ordered by travelled_distance in descending order, if two or more users traveled the same distance, order them by their name in ascending order. +*/ + +SELECT + u.name, + COALESCE(SUM(r.distance), 0) AS travelled_distance +FROM Rides AS r +RIGHT JOIN -- noqa: CV08 + Users AS u + ON r.user_id = u.id +GROUP BY u.id, u.name +ORDER BY travelled_distance DESC, u.name ASC