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; 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