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
43 changes: 43 additions & 0 deletions Market_Analysis_II.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Write your MySQL query statement below
with users_fav_brand as
(
select
u.user_id
, i.item_id as fav_brand_id
from
Users u left join Items i on u.favorite_brand = i.item_brand
)
, ranked_orders as
(
select
seller_id
, item_id
, order_date
, rank() over(partition by seller_id order by order_date) as rnk
from
Orders
)
, second_orders as
(
select
seller_id
, item_id
from
ranked_orders
where rnk = 2
)
, combinations_match as
(
select
u.user_id
, u.fav_brand_id
, s.item_id
from
users_fav_brand u left join second_orders s on u.user_id = s.seller_id
where u.fav_brand_id = s.item_id
)
select
u.user_id as seller_id
, coalesce(case when c.fav_brand_id = c.item_id then 'yes' else null end, 'no') as 2nd_item_fav_brand
from
Users u left join combinations_match c on u.user_id = c.user_id
49 changes: 49 additions & 0 deletions Tournament_winners.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
with master_table as
(
select
first_player as player
, first_score as score
from
Matches
union all
select
second_player as player
, second_score as score
from
Matches
)
, player_score_count as
(
select
player
, sum(score) as total_score
from
master_table
group by 1
)
, player_group_total as
(
select
pc.player as player_id
, pc.total_score
, p.group_id
from
player_score_count pc join Players p on pc.player = p.player_id
)
, player_group_ranking as
(
select
player_id
, group_id
, row_number() over(partition by group_id order by total_score desc, player_id asc) as rownum
from
player_group_total
)

select
player_id
, group_id
from
player_group_ranking
where
rownum = 1