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
10 changes: 10 additions & 0 deletions problem1-1407-Top-Travellers.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
select
u.name,
IFNULL(sum(r.distance),0) as travelled_distance
from
Users u
left join
Rides r
on u.id = r.user_id
group by r.user_id
order by travelled_distance desc,name
30 changes: 30 additions & 0 deletions problem2-1445-Apples-Oranges.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
--self join way

select
s.sale_date,
s.sold_num - s1.sold_num AS diff
from
Sales s
join
Sales s1
on s.sale_date = s1.sale_date
and s.fruit != s1.fruit
and s.fruit = 'apples' and s1.fruit = 'oranges'

-- group by
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;

--window function

SELECT DISTINCT
sale_date,
SUM(CASE WHEN fruit = 'apples' THEN sold_num ELSE 0 END) OVER (PARTITION BY sale_date) -
SUM(CASE WHEN fruit = 'oranges' THEN sold_num ELSE 0 END) OVER (PARTITION BY sale_date) AS diff
FROM Sales
ORDER BY sale_date;