From 9b0fdf577a223dd4a5c26fcd175094bfbfa4bfda Mon Sep 17 00:00:00 2001 From: Ganesh Sandeep Kanumilli <89462870+SandeepKanumilli@users.noreply.github.com> Date: Wed, 11 Dec 2024 16:49:46 -0600 Subject: [PATCH 1/2] Day2 HM --- RankScores.sql | 14 ++++++++++++++ SeatSwap.sql | 10 ++++++++++ TreeNode.sql | 8 ++++++++ 3 files changed, 32 insertions(+) create mode 100644 RankScores.sql create mode 100644 SeatSwap.sql create mode 100644 TreeNode.sql diff --git a/RankScores.sql b/RankScores.sql new file mode 100644 index 0000000..585d933 --- /dev/null +++ b/RankScores.sql @@ -0,0 +1,14 @@ +# Write your MySQL query statement below + /* My Approach +WITH CTE_TABLE AS ( + SELECT score, ROW_NUMBER() OVER(ORDER BY score DESC) as RNK FROM Score +) + +SELECT s1.score, c1.Rnk +FROM Score s1 +Join CTE_TABLE c1 ON s1.score = c1.score; */ + + + +SELECT score, DENSE_RANK() OVER(ORDER BY score DESC) AS 'rank' +FROM Scores \ No newline at end of file diff --git a/SeatSwap.sql b/SeatSwap.sql new file mode 100644 index 0000000..8bc7e95 --- /dev/null +++ b/SeatSwap.sql @@ -0,0 +1,10 @@ + + + +SELECT( + CASE + WHEN MOD(ID,2) !=0 AND ID != COUNTER THEN ID+1 + WHEN MOD(ID,2) !=0 AND ID = COUNTER THEN ID + ELSE ID -1 + END +) AS 'id', student FROM Seat , ( SELECT COUNT(*) as COUNTER FROM Seat) AS seat_count ORDER BY id; \ No newline at end of file diff --git a/TreeNode.sql b/TreeNode.sql new file mode 100644 index 0000000..95fc0f9 --- /dev/null +++ b/TreeNode.sql @@ -0,0 +1,8 @@ + + +SELECT id,( + CASE + WHEN p_id IS NULL THEN 'Root' + WHEN id IN (SELECT p_id FROM Tree) THEN 'Inner' + ELSE 'Leaf' + END) as Type FROM Tree; \ No newline at end of file From 8ffd6e811ff72e063415511a44647651210b61f9 Mon Sep 17 00:00:00 2001 From: Ganesh Sandeep Kanumilli <89462870+SandeepKanumilli@users.noreply.github.com> Date: Tue, 17 Dec 2024 15:41:30 -0600 Subject: [PATCH 2/2] Department Top 3 Salaries --- DepartmentTop3Salarries.sql | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 DepartmentTop3Salarries.sql diff --git a/DepartmentTop3Salarries.sql b/DepartmentTop3Salarries.sql new file mode 100644 index 0000000..7b78e36 --- /dev/null +++ b/DepartmentTop3Salarries.sql @@ -0,0 +1,16 @@ +# Write your MySQL query statement below +/* +SELECT d.name AS 'Department',e1.name as 'Employee', e1.salary +FROM Employee e1 +LEFT JOIN Department d +ON e1.departmentId = d.id +WHERE 3 > (SELECT COUNT(DISTINCT e2.salary) FROM Employee e2 WHERE e2.salary > e1.salary AND e1.departmentId = e2.departmentId ) +*/ + + + +WITH CTE AS +(SELECT e1.name , e1.departmentId,e1.salary, DENSE_RANK() OVER(PARTITION BY e1.departmentId ORDER BY e1.salary DESC) as 'rank' FROM Employee e1 ) +SELECT d.name AS Department , C.name as 'Employee', C.salary AS 'salary' FROM CTE C +JOIN Department d ON C.departmentID = d.id +WHERE C.rank < 4;