diff --git a/AvgSalOfDeptVsCom.sql b/AvgSalOfDeptVsCom.sql new file mode 100644 index 0000000..ac27975 --- /dev/null +++ b/AvgSalOfDeptVsCom.sql @@ -0,0 +1,17 @@ +SELECT departmentSalary.pay_month, department_id, +CASE + WHEN departmentAvg > companyAvg THEN 'higher' + WHEN departmentAvg < companyAvg THEN 'lower' + ELSE 'same' +END AS 'comparison' +FROM ( + SELECT date_format(pay_date, '%Y-%m') AS 'pay_month', department_id, AVG(amount) AS 'departmentAvg' + FROM Salary JOIN Employee ON Salary.employee_id = Employee.employee_id + GROUP BY department_id, pay_month +) AS departmentSalary +JOIN ( + SELECT date_format(pay_date, '%Y-%m') AS 'pay_month', AVG(amount) AS 'companyAvg' + FROM Salary + GROUP BY pay_month +) AS companySalary +ON departmentSalary.pay_month = companySalary.pay_month; diff --git a/GamePlayAnalysis1.sql b/GamePlayAnalysis1.sql new file mode 100644 index 0000000..ad7f648 --- /dev/null +++ b/GamePlayAnalysis1.sql @@ -0,0 +1,2 @@ +SELECT DISTINCT player_id, MIN(event_date) OVER(PARTITION BY player_id ORDER BY event_date) AS 'first_login' +FROM activity; diff --git a/ReportContiguousDates.sql b/ReportContiguousDates.sql new file mode 100644 index 0000000..02f8e1d --- /dev/null +++ b/ReportContiguousDates.sql @@ -0,0 +1,14 @@ +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_rnk' FROM CTE +) AS y +GROUP BY group_rnk, period_state +ORDER BY start_date; diff --git a/StudentsReportByGeography.sql b/StudentsReportByGeography.sql new file mode 100644 index 0000000..4bd456b --- /dev/null +++ b/StudentsReportByGeography.sql @@ -0,0 +1,19 @@ +WITH first AS ( + SELECT name AS 'America', ROW_NUMBER() OVER(ORDER BY name) AS 'rnk' + FROM student + WHERE continent = 'America' +), +second AS ( + SELECT name AS 'Asia', ROW_NUMBER() OVER(ORDER BY name) AS 'rnk' + FROM student + WHERE continent = 'Asia' +), +third AS ( + SELECT name AS 'Europe', ROW_NUMBER() OVER(ORDER BY name) AS 'rnk' + FROM student + WHERE continent = 'Europe' +) +SELECT America, Asia, Europe +FROM second +RIGHT JOIN first ON first.rnk = second.rnk +LEFT JOIN third ON first.rnk = third.rnk;