diff --git a/averagesalary.sql b/averagesalary.sql new file mode 100644 index 0000000..43c33cc --- /dev/null +++ b/averagesalary.sql @@ -0,0 +1,26 @@ +# Write your MySQL query statement below +WITH + S AS ( + SELECT * + FROM + Salary + JOIN Employee USING (employee_id) + ), + T AS ( + SELECT + DATE_FORMAT(pay_date, '%Y-%m') AS pay_month, + department_id, + AVG(amount) OVER (PARTITION BY pay_date, department_id) AS department_avg, + AVG(amount) OVER (PARTITION BY pay_date) AS company_avg + FROM S + ) +SELECT + pay_month, + department_id, + CASE + WHEN AVG(department_avg) > AVG(company_avg) THEN 'higher' + WHEN AVG(department_avg) < AVG(company_avg) THEN 'lower' + ELSE 'same' + END AS comparison +FROM T +GROUP BY 1, 2; diff --git a/gameplayanalysis1.sql b/gameplayanalysis1.sql new file mode 100644 index 0000000..5ddccad --- /dev/null +++ b/gameplayanalysis1.sql @@ -0,0 +1,5 @@ +SELECT player_id, MIN(event_date) AS first_login +FROM Activity +GROUP BY 1; + + diff --git a/reportcontiguous.sql b/reportcontiguous.sql new file mode 100644 index 0000000..a31a660 --- /dev/null +++ b/reportcontiguous.sql @@ -0,0 +1,30 @@ +# Write your MySQL query statement below +WITH + T AS ( + SELECT fail_date AS dt, 'failed' AS st + FROM Failed + WHERE YEAR(fail_date) = 2019 + UNION ALL + SELECT success_date AS dt, 'succeeded' AS st + FROM Succeeded + WHERE YEAR(success_date) = 2019 + ) +SELECT + st AS period_state, + MIN(dt) AS start_date, + MAX(dt) AS end_date +FROM + ( + SELECT + *, + SUBDATE( + dt, + RANK() OVER ( + PARTITION BY st + ORDER BY dt + ) + ) AS pt + FROM T + ) AS t +GROUP BY 1, pt +ORDER BY 2; diff --git a/studentreports.sql b/studentreports.sql new file mode 100644 index 0000000..eaacb35 --- /dev/null +++ b/studentreports.sql @@ -0,0 +1,18 @@ +# Write your MySQL query statement below +WITH + T AS ( + SELECT + *, + ROW_NUMBER() OVER ( + PARTITION BY continent + ORDER BY name + ) AS rk + FROM Student + ) +SELECT + MAX(IF(continent = 'America', name, NULL)) AS 'America', + MAX(IF(continent = 'Asia', name, NULL)) AS 'Asia', + MAX(IF(continent = 'Europe', name, NULL)) AS 'Europe' +FROM T +GROUP BY rk; +