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
26 changes: 26 additions & 0 deletions averagesalary.sql
Original file line number Diff line number Diff line change
@@ -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;
5 changes: 5 additions & 0 deletions gameplayanalysis1.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;


30 changes: 30 additions & 0 deletions reportcontiguous.sql
Original file line number Diff line number Diff line change
@@ -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;
18 changes: 18 additions & 0 deletions studentreports.sql
Original file line number Diff line number Diff line change
@@ -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;