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
13 changes: 13 additions & 0 deletions AvgSalaryDepVsComp.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
select comp.pay_month, dep.department_id,(
case
when depsalary > compsalary then 'higher'
when depsalary < compsalary then 'lower'
else 'same'
end
) as comparison from
(select date_format(pay_date,'%Y-%m') as 'pay_month' ,employee_id, avg(amount)as 'compsalary'
from salary group by pay_month) as comp
join
(select date_format(pay_date,'%Y-%m') as 'pay_month', e.department_id, avg(amount) as 'depsalary'
from salary s join employee e on s.employee_id=e.employee_id group by e.department_id , pay_month) as dep
on dep.pay_month = comp.pay_month;
15 changes: 15 additions & 0 deletions GamePlayAnalysis1.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
--Solution1
select player_id , min(event_date) as 'first_login' from activity group by player_id

--Solution2
select distinct player_id, min(event_date) over(partition by player_id) as 'first_login' from activity;

--Solution3
select a.player_id, a.event_date as 'first_login' from ( select b.player_id, b.event_date, rank() over(partition by b.player_id order by b.event_date) as 'rnk' from activity b ) a where a.rnk = 1;

--Solution4
select distinct a.player_id , first_value(event_date) over(partition by a.player_id order by event_date) as 'first_login' from activity a

--Solution5
select distinct a.player_id , last_value(event_date) over(partition by a.player_id order by event_date desc
range between unbounded preceding and unbounded following) as 'first_login' from activity a
9 changes: 9 additions & 0 deletions ReportContiguosDates.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Write your MySQL query statement below
with cte as (select fail_date as 'dat' , 'failed' as period_state, rank() over (order by fail_date) as 'rnk' from failed where year(fail_date) = 2019
union all
select success_date as 'dat', 'succeeded' as period_state, rank() over (order by success_date) as 'rnk' from succeeded where year(success_date) = 2019
)

select period_state, min(dat) as 'start_date', max(dat) as 'end_date' from (
select * , (rank() over (order by dat) - rnk) as 'group_rank' from cte) as y
group by group_rank , period_state order by start_date;
14 changes: 14 additions & 0 deletions StudentReportByGeography.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
with cte as
(select name as 'America', row_number() over (order by name) as 'rnk' from student
where continent='America' order by name),

cte1 as
(select name as 'Asia', row_number() over (order by name) as 'rnk' from student
where continent='Asia' order by name),

cte2 as (select name as 'Europe', row_number() over (order by name) as 'rnk' from student
where continent='Europe' order by name)

select America, Asia , Europe from cte1
right join cte on cte.rnk=cte1.rnk
left join cte2 on cte.rnk=cte2.rnk;