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
34 changes: 34 additions & 0 deletions Sql5_Q1_ReportContDates_rnk_grprnk.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
with master_table as
(
select
fail_date as 'date'
, 'failed' as period_state
from
Failed
where year(fail_date) = 2019
union
select
success_date as 'date'
, 'succeeded' as period_state
from
Succeeded
where year(success_date) = 2019
)
, ranking_period_state as
(
select
date
, period_state
, rank() over(order by date) - rank() over(partition by period_state order by date) as diff
from
master_table
)
select
period_state
, min(date) as start_date
, max(date) as end_date
from
ranking_period_state
group by
diff, period_state
order by start_date
33 changes: 33 additions & 0 deletions Sql5_Q2_StudentsByGeo.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
with cte1 as
(
select
name as 'America'
, row_number() over(order by name) as rnk
from student
where continent = 'America'
order by 1
)
, cte2 as
(
select
name as 'Asia'
, row_number() over(order by name) as rnk
from student
where continent = 'Asia'
order by 1
)
, cte3 as
(
select
name as 'Europe'
, row_number() over(order by name) as rnk
from student
where continent = 'Europe'
order by 1
)

select
cte1.America
, cte2.Asia
, cte3.Europe
from cte2 right join cte1 on cte1.rnk = cte2.rnk left join cte3 on cte1.rnk = cte3.rnk
27 changes: 27 additions & 0 deletions Sql5_Q3_AvgSalDeptCo.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
with company_avg as
(
select
date_format(pay_date, '%Y-%m') as date_year
, avg(amount) as company_avg
from
Salary
group by 1
)
, dept_avg_sal as
(
select
date_format(s.pay_date, '%Y-%m') as date_year
, e.department_id
, avg(s.amount) as dept_avg
from
Salary s join Employee e on s.employee_id = e.employee_id
group by e.department_id, 1
)

select
d.date_year as pay_month
, d.department_id
, case when c.company_avg > d.dept_avg then 'lower'
when c.company_avg = d.dept_avg then 'same'
when c.company_avg < d.dept_avg then 'higher' end as comparison
from company_avg c join dept_avg_sal d on c.date_year = d.date_year
5 changes: 5 additions & 0 deletions Sql5_Q4_GamePlayAnalysis.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
select
player_id
, min(event_date) as first_login
from Activity
group by 1