Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions 01-TopTravellers.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
-- Problem 1: Top Travellers (https://leetcode.com/problems/top-travellers/)
select name, ifnull(sum(r.distance), 0) as travelled_distance
from users u
left join rides r on u.id = r.user_id
group by u.id
order by travelled_distance desc, name asc
27 changes: 27 additions & 0 deletions 02-ApplesAndOranges.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
-- cte
with apples as(
select sale_date, fruit as apple, sold_num as a_num
from sales where fruit = 'apples'
),
oranges as (
select sale_date, fruit as oranges, sold_num as o_num
from sales where fruit = 'oranges'
)
select apples.sale_date, (a_num - o_num) as diff
from apples
join oranges on apples.sale_date=oranges.sale_date
order by sale_date

-- solution 2
select a.sale_date, a.sold_num - b.sold_num as diff
from sales a
join sales b on a.sale_date = b.sale_date
where a.fruit = 'apples' and b.fruit = 'oranges'

-- better version
select sale_date,
sum (case when fruit='apples' then sold_num else 0 end) -
sum (case when fruit='oranges' then sold_num else 0 end) as diff
from sales
group by sale_date
order by sale_date