From 01253e255f4382d6635fee6a0a7343767509fe66 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Tue, 11 Mar 2025 15:23:18 +0530 Subject: [PATCH 001/353] this is adding image --- README.md | 13 ++++++++----- img/SQL.jpeg | Bin 0 -> 8536 bytes img/leetcodecode.jpeg | Bin 0 -> 5812 bytes img/salution.png | Bin 0 -> 2552 bytes 4 files changed, 8 insertions(+), 5 deletions(-) create mode 100644 img/SQL.jpeg create mode 100644 img/leetcodecode.jpeg create mode 100644 img/salution.png diff --git a/README.md b/README.md index 61ebe5e..eff7bd4 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,19 @@ + + # LeetCode_SQL_Database This repo contains my SQL solutions for LeetCode problems. Each file includes a problem description, optimized SQL query, and explanations. The goal is to improve SQL skills, share knowledge, and collaborate. Feel free to explore, suggest improvements, or contribute! 🚀 -LeetCode SQL Solutions:- +## LeetCode SQL Solutions:- + This repository contains my solutions to SQL problems from LeetCode. Each solution is implemented using MySQL and aims to demonstrate efficient and optimal approaches to solve common database-related challenges. - -Repository Structure:- + +## Repository Structure:- Problem Name: Each SQL file is named after the LeetCode problem it solves. Solution Explanation: Each SQL file includes comments explaining the logic and approach used to solve the problem. Testing: Sample test cases or scenarios may be included in the comments or README where applicable. Why This Repository? -Learning and Practice:- +## Learning and Practice:- This repository serves as a resource for learning SQL techniques for solving algorithmic problems. Collaboration: I welcome feedback and suggestions for improving solutions or alternative approaches. Community: By sharing these solutions, I hope to contribute to the SQL programming community and help others learn and grow. @@ -18,6 +21,6 @@ Contents: Problem 1: Description of the problem and the SQL solution. Problem 2: Description of the problem and the SQL solution. Problem 3: Description of the problem and the SQL solution. -Contributing: +### Contributing: Feel free to fork this repository, suggest improvements, or submit your own solutions via pull requests. Let's learn and grow together! diff --git a/img/SQL.jpeg b/img/SQL.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f09d7c4fcca057a671d580ff6641921ce384e094 GIT binary patch literal 8536 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 Y)%hn?XP~|ge^d^DfLTJTOdO;B2heZb+5i9m literal 0 HcmV?d00001 From 3c282fda1915638305eb349dc841c5f8a75cee60 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Tue, 11 Mar 2025 15:45:48 +0530 Subject: [PATCH 002/353] this is creating readme and hard code of sql --- 185. Department Top Three Salaries.md | 111 +++++++++++++ 185. Department Top Three Salaries.sql | 208 +++++++++++++++++++++++++ README.md | 28 +++- img/leetcode salution.png | Bin 0 -> 149298 bytes img/leetcode.png | Bin 0 -> 139527 bytes 5 files changed, 341 insertions(+), 6 deletions(-) create mode 100644 185. Department Top Three Salaries.md create mode 100644 185. Department Top Three Salaries.sql create mode 100644 img/leetcode salution.png create mode 100644 img/leetcode.png diff --git a/185. Department Top Three Salaries.md b/185. Department Top Three Salaries.md new file mode 100644 index 0000000..3b15680 --- /dev/null +++ b/185. Department Top Three Salaries.md @@ -0,0 +1,111 @@ +# 185. Department Top Three Salaries + +### Question +``` + Table: Employee + ++--------------+---------+ +| Column Name | Type | ++--------------+---------+ +| id | int | +| name | varchar | +| salary | int | +| departmentId | int | ++--------------+---------+ +``` +id is the primary key (column with unique values) for this table. +departmentId is a foreign key (reference column) of the ID from the Department table. +Each row of this table indicates the ID, name, and salary of an employee. It also contains the ID of their department. + + +Table: Department +``` ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| id | int | +| name | varchar | ++-------------+---------+ +``` +id is the primary key (column with unique values) for this table. +Each row of this table indicates the ID of a department and its name. + + +A company's executives are interested in seeing who earns the most money in each of the company's departments. A high earner in a department is an employee who has a salary in the top three unique salaries for that department. + +Write a solution to find the employees who are high earners in each of the departments. + +Return the result table in any order. + +The result format is in the following example. + + + +Example 1: +``` +Input: +Employee table: ++----+-------+--------+--------------+ +| id | name | salary | departmentId | ++----+-------+--------+--------------+ +| 1 | Joe | 85000 | 1 | +| 2 | Henry | 80000 | 2 | +| 3 | Sam | 60000 | 2 | +| 4 | Max | 90000 | 1 | +| 5 | Janet | 69000 | 1 | +| 6 | Randy | 85000 | 1 | +| 7 | Will | 70000 | 1 | ++----+-------+--------+--------------+ +``` +``` +Department table: ++----+-------+ +| id | name | ++----+-------+ +| 1 | IT | +| 2 | Sales | ++----+-------+ +Output: ++------------+----------+--------+ +| Department | Employee | Salary | ++------------+----------+--------+ +| IT | Max | 90000 | +| IT | Joe | 85000 | +| IT | Randy | 85000 | +| IT | Will | 70000 | +| Sales | Henry | 80000 | +| Sales | Sam | 60000 | ++------------+----------+--------+ +``` +Explanation: +In the IT department: +- Max earns the highest unique salary +- Both Randy and Joe earn the second-highest unique salary +- Will earns the third-highest unique salary + +In the Sales department: +- Henry earns the highest salary +- Sam earns the second-highest salary +- There is no third-highest salary as there are only two employees + + +Constraints: + +There are no employees with the exact same name, salary and department. + + +## Solution + +```MySQL +# Write your MySQL query statement below +SELECT d.Name as Department, +e.Name as Employee, +e.Salary as Salary +FROM Department d, Employee e +WHERE( + SELECT COUNT(distinct Salary) + FROM Employee + WHERE Salary > e.Salary AND DepartmentId = d.Id +) < 3 AND e.DepartmentId = d.Id +ORDER BY d.Id, e.Salary desc; +``` \ No newline at end of file diff --git a/185. Department Top Three Salaries.sql b/185. Department Top Three Salaries.sql new file mode 100644 index 0000000..7998e64 --- /dev/null +++ b/185. Department Top Three Salaries.sql @@ -0,0 +1,208 @@ +# 185. Department Top Three Salaries + +### Question +``` + Table: Employee + ++--------------+---------+ +| Column Name | Type | ++--------------+---------+ +| id | int | +| name | varchar | +| salary | int | +| departmentId | int | ++--------------+---------+ +``` +id is the primary key (column with unique values) for this table. +departmentId is a foreign key (reference column) of the ID from the Department table. +Each row of this table indicates the ID, name, and salary of an employee. It also contains the ID of their department. + + +Table: Department +``` ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| id | int | +| name | varchar | ++-------------+---------+ +``` +id is the primary key (column with unique values) for this table. +Each row of this table indicates the ID of a department and its name. + + +A company's executives are interested in seeing who earns the most money in each of the company's departments. A high earner in a department is an employee who has a salary in the top three unique salaries for that department. + +Write a solution to find the employees who are high earners in each of the departments. + +Return the result table in any order. + +The result format is in the following example. + + + +Example 1: +``` +Input: +Employee table: ++----+-------+--------+--------------+ +| id | name | salary | departmentId | ++----+-------+--------+--------------+ +| 1 | Joe | 85000 | 1 | +| 2 | Henry | 80000 | 2 | +| 3 | Sam | 60000 | 2 | +| 4 | Max | 90000 | 1 | +| 5 | Janet | 69000 | 1 | +| 6 | Randy | 85000 | 1 | +| 7 | Will | 70000 | 1 | ++----+-------+--------+--------------+ +``` +``` +Department table: ++----+-------+ +| id | name | ++----+-------+ +| 1 | IT | +| 2 | Sales | ++----+-------+ +Output: ++------------+----------+--------+ +| Department | Employee | Salary | ++------------+----------+--------+ +| IT | Max | 90000 | +| IT | Joe | 85000 | +| IT | Randy | 85000 | +| IT | Will | 70000 | +| Sales | Henry | 80000 | +| Sales | Sam | 60000 | ++------------+----------+--------+ +``` +Explanation: +In the IT department: +- Max earns the highest unique salary +- Both Randy and Joe earn the second-highest unique salary +- Will earns the third-highest unique salary + +In the Sales department: +- Henry earns the highest salary +- Sam earns the second-highest salary +- There is no third-highest salary as there are only two employees + + +Constraints: + +There are no employees with the exact same name, salary and department. + + +## Solution + +```sql +# 185. Department Top Three Salaries + +### Question +``` + Table: Employee + ++--------------+---------+ +| Column Name | Type | ++--------------+---------+ +| id | int | +| name | varchar | +| salary | int | +| departmentId | int | ++--------------+---------+ +``` +id is the primary key (column with unique values) for this table. +departmentId is a foreign key (reference column) of the ID from the Department table. +Each row of this table indicates the ID, name, and salary of an employee. It also contains the ID of their department. + + +Table: Department +``` ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| id | int | +| name | varchar | ++-------------+---------+ +``` +id is the primary key (column with unique values) for this table. +Each row of this table indicates the ID of a department and its name. + + +A company's executives are interested in seeing who earns the most money in each of the company's departments. A high earner in a department is an employee who has a salary in the top three unique salaries for that department. + +Write a solution to find the employees who are high earners in each of the departments. + +Return the result table in any order. + +The result format is in the following example. + + + +Example 1: +``` +Input: +Employee table: ++----+-------+--------+--------------+ +| id | name | salary | departmentId | ++----+-------+--------+--------------+ +| 1 | Joe | 85000 | 1 | +| 2 | Henry | 80000 | 2 | +| 3 | Sam | 60000 | 2 | +| 4 | Max | 90000 | 1 | +| 5 | Janet | 69000 | 1 | +| 6 | Randy | 85000 | 1 | +| 7 | Will | 70000 | 1 | ++----+-------+--------+--------------+ +``` +``` +Department table: ++----+-------+ +| id | name | ++----+-------+ +| 1 | IT | +| 2 | Sales | ++----+-------+ +Output: ++------------+----------+--------+ +| Department | Employee | Salary | ++------------+----------+--------+ +| IT | Max | 90000 | +| IT | Joe | 85000 | +| IT | Randy | 85000 | +| IT | Will | 70000 | +| Sales | Henry | 80000 | +| Sales | Sam | 60000 | ++------------+----------+--------+ + +Explanation: +In the IT department: +- Max earns the highest unique salary +- Both Randy and Joe earn the second-highest unique salary +- Will earns the third-highest unique salary + +In the Sales department: +- Henry earns the highest salary +- Sam earns the second-highest salary +- There is no third-highest salary as there are only two employees + + +Constraints: + +There are no employees with the exact same name, salary and department. + + +## Solution + +# Write your MySQL query statement below +SELECT d.Name as Department, +e.Name as Employee, +e.Salary as Salary +FROM Department d, Employee e +WHERE( + SELECT COUNT(distinct Salary) + FROM Employee + WHERE Salary > e.Salary AND DepartmentId = d.Id +) < 3 AND e.DepartmentId = d.Id +ORDER BY d.Id, e.Salary desc; diff --git a/README.md b/README.md index eff7bd4..0add1f5 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,42 @@ # LeetCode_SQL_Database -This repo contains my SQL solutions for LeetCode problems. Each file includes a problem description, optimized SQL query, and explanations. The goal is to improve SQL skills, share knowledge, and collaborate. Feel free to explore, suggest improvements, or contribute! 🚀 +This repo contains my SQL solutions for LeetCode problems. Each file includes a problem description, optimized SQL query, and explanations. The goal is to improve SQL skills, share knowledge, and collaborate. Feel free to explore, suggest improvements, or contribute! 🚀 ## LeetCode SQL Solutions:- + This repository contains my solutions to SQL problems from LeetCode. Each solution is implemented using MySQL and aims to demonstrate efficient and optimal approaches to solve common database-related challenges. + + ## Repository Structure:- + Problem Name: Each SQL file is named after the LeetCode problem it solves. Solution Explanation: Each SQL file includes comments explaining the logic and approach used to solve the problem. Testing: Sample test cases or scenarios may be included in the comments or README where applicable. Why This Repository? + ## Learning and Practice:- -This repository serves as a resource for learning SQL techniques for solving algorithmic problems. -Collaboration: I welcome feedback and suggestions for improving solutions or alternative approaches. + + + +**This repository serves as a resource for learning SQL techniques for solving algorithmic problems.** + +### Collaboration:- + +I welcome feedback and suggestions for improving solutions or alternative approaches. Community: By sharing these solutions, I hope to contribute to the SQL programming community and help others learn and grow. -Contents: + +### Contents:- + Problem 1: Description of the problem and the SQL solution. Problem 2: Description of the problem and the SQL solution. Problem 3: Description of the problem and the SQL solution. -### Contributing: -Feel free to fork this repository, suggest improvements, or submit your own solutions via pull requests. Let's learn and grow together! + + +### Contributing:- + +Feel free to fork this repository, suggest improvements, or submit your own solutions via pull requests. Let's learn and grow together! diff --git a/img/leetcode salution.png b/img/leetcode salution.png new file mode 100644 index 0000000000000000000000000000000000000000..854636727b2013908450e02176631d3407d42f26 GIT binary patch literal 149298 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

{pD2Vqu$;`9iQs9q2CV!einF($uVY7 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%0AVd+T#)F+BTgop?_n6Y*OmaF5`x-#7d*l*v=hK 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

{F-}jfengexM3VCZdOS(> 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 literal 0 HcmV?d00001 From 8fcb036c9788b547380cc63a56759879711f68f6 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Tue, 11 Mar 2025 15:50:01 +0530 Subject: [PATCH 003/353] this is seeing --- README.md | 2 +- img/work.jpeg | Bin 0 -> 7822 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 img/work.jpeg diff --git a/README.md b/README.md index 0add1f5..46d74eb 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ This repo contains my SQL solutions for LeetCode problems. Each file includes a This repository contains my solutions to SQL problems from LeetCode. Each solution is implemented using MySQL and aims to demonstrate efficient and optimal approaches to solve common database-related challenges. - + ## Repository Structure:- diff --git a/img/work.jpeg b/img/work.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5d294ad9030eb7841dea78e8ba3c3db7d9828ba4 GIT binary patch literal 7822 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 Date: Tue, 11 Mar 2025 17:00:08 +0530 Subject: [PATCH 004/353] this is the photo --- README.md | 4 +++- img/leetcode me.png | Bin 0 -> 267796 bytes img/leetcode-sql.png | Bin 0 -> 15382 bytes img/leetcodecode.jpeg | Bin 5812 -> 0 bytes 4 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 img/leetcode me.png create mode 100644 img/leetcode-sql.png delete mode 100644 img/leetcodecode.jpeg diff --git a/README.md b/README.md index 46d74eb..ae09ded 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,11 @@ This repo contains my SQL solutions for LeetCode problems. Each file includes a problem description, optimized SQL query, and explanations. The goal is to improve SQL skills, share knowledge, and collaborate. Feel free to explore, suggest improvements, or contribute! 🚀 + + ## LeetCode SQL Solutions:- - + This repository contains my solutions to SQL problems from LeetCode. Each solution is implemented using MySQL and aims to demonstrate efficient and optimal approaches to solve common database-related challenges. diff --git a/img/leetcode me.png b/img/leetcode me.png new file mode 100644 index 0000000000000000000000000000000000000000..4fb0181deee1bf48743c618c64f532ec09bf2972 GIT binary patch literal 267796 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%0A+e<<&Ll1M8ID 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 literal 0 HcmV?d00001 diff --git a/img/leetcodecode.jpeg b/img/leetcodecode.jpeg deleted file mode 100644 index 91436bbc9f8488fe5af6c896d7aaad8a060a426b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5812 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 Date: Tue, 11 Mar 2025 17:02:48 +0530 Subject: [PATCH 005/353] this is image --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ae09ded..3fc30a1 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ - +

# LeetCode_SQL_Database @@ -10,8 +10,9 @@ This repo contains my SQL solutions for LeetCode problems. Each file includes a This repository contains my solutions to SQL problems from LeetCode. Each solution is implemented using MySQL and aims to demonstrate efficient and optimal approaches to solve common database-related challenges. - +
+
## Repository Structure:- From 2485ca7d5f52541a4052f60c8b90e3ed9e626c27 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Wed, 12 Mar 2025 16:20:58 +0530 Subject: [PATCH 006/353] today i solve movie sql problem --- 620. Not Boring Movies.sql | 56 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 620. Not Boring Movies.sql diff --git a/620. Not Boring Movies.sql b/620. Not Boring Movies.sql new file mode 100644 index 0000000..d194174 --- /dev/null +++ b/620. Not Boring Movies.sql @@ -0,0 +1,56 @@ +620. Not Boring Movies +Easy +Topics +Companies +SQL Schema +Pandas Schema +Table: Cinema + ++----------------+----------+ +| Column Name | Type | ++----------------+----------+ +| id | int | +| movie | varchar | +| description | varchar | +| rating | float | ++----------------+----------+ +id is the primary key (column with unique values) for this table. +Each row contains information about the name of a movie, its genre, and its rating. +rating is a 2 decimal places float in the range [0, 10] + + +Write a solution to report the movies with an odd-numbered ID and a description that is not "boring". + +Return the result table ordered by rating in descending order. + +The result format is in the following example. + + + +Example 1: + +Input: +Cinema table: ++----+------------+-------------+--------+ +| id | movie | description | rating | ++----+------------+-------------+--------+ +| 1 | War | great 3D | 8.9 | +| 2 | Science | fiction | 8.5 | +| 3 | irish | boring | 6.2 | +| 4 | Ice song | Fantacy | 8.6 | +| 5 | House card | Interesting | 9.1 | ++----+------------+-------------+--------+ +Output: ++----+------------+-------------+--------+ +| id | movie | description | rating | ++----+------------+-------------+--------+ +| 5 | House card | Interesting | 9.1 | +| 1 | War | great 3D | 8.9 | ++----+------------+-------------+--------+ +Explanation: +We have three movies with odd-numbered IDs: 1, 3, and 5. The movie with ID = 3 is boring so we do not include it in the answer. + +We sort the remaining movies by rating in descending order. + +# Write your MySQL query statement below +SELECT * FROM Cinema WHERE id % 2 = 1 AND description != 'boring' ORDER BY rating DESC From eeeaa0a7ed97115fffaf4f34f77592093907418f Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Wed, 12 Mar 2025 16:24:05 +0530 Subject: [PATCH 007/353] date:12-03-2025 --- 1251. Average Selling Price.sql | 84 +++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 1251. Average Selling Price.sql diff --git a/1251. Average Selling Price.sql b/1251. Average Selling Price.sql new file mode 100644 index 0000000..df09476 --- /dev/null +++ b/1251. Average Selling Price.sql @@ -0,0 +1,84 @@ +1251. Average Selling Price +Easy +Topics +Companies +SQL Schema +Pandas Schema +Table: Prices + ++---------------+---------+ +| Column Name | Type | ++---------------+---------+ +| product_id | int | +| start_date | date | +| end_date | date | +| price | int | ++---------------+---------+ +(product_id, start_date, end_date) is the primary key (combination of columns with unique values) for this table. +Each row of this table indicates the price of the product_id in the period from start_date to end_date. +For each product_id there will be no two overlapping periods. That means there will be no two intersecting periods for the same product_id. + + +Table: UnitsSold + ++---------------+---------+ +| Column Name | Type | ++---------------+---------+ +| product_id | int | +| purchase_date | date | +| units | int | ++---------------+---------+ +This table may contain duplicate rows. +Each row of this table indicates the date, units, and product_id of each product sold. + + +Write a solution to find the average selling price for each product. average_price should be rounded to 2 decimal places. If a product does not have any sold units, its average selling price is assumed to be 0. + +Return the result table in any order. + +The result format is in the following example. + + + +Example 1: + +Input: +Prices table: ++------------+------------+------------+--------+ +| product_id | start_date | end_date | price | ++------------+------------+------------+--------+ +| 1 | 2019-02-17 | 2019-02-28 | 5 | +| 1 | 2019-03-01 | 2019-03-22 | 20 | +| 2 | 2019-02-01 | 2019-02-20 | 15 | +| 2 | 2019-02-21 | 2019-03-31 | 30 | ++------------+------------+------------+--------+ +UnitsSold table: ++------------+---------------+-------+ +| product_id | purchase_date | units | ++------------+---------------+-------+ +| 1 | 2019-02-25 | 100 | +| 1 | 2019-03-01 | 15 | +| 2 | 2019-02-10 | 200 | +| 2 | 2019-03-22 | 30 | ++------------+---------------+-------+ +Output: ++------------+---------------+ +| product_id | average_price | ++------------+---------------+ +| 1 | 6.96 | +| 2 | 16.96 | ++------------+---------------+ +Explanation: +Average selling price = Total Price of Product / Number of products sold. +Average selling price for product 1 = ((100 * 5) + (15 * 20)) / 115 = 6.96 +Average selling price for product 2 = ((200 * 15) + (30 * 30)) / 230 = 16.96 +Note that the average selling price is 0 if the product was not sold. + +# Write your MySQL query statement below +SELECT a.product_id,ROUND(SUM(b.units*a.price)/SUM(b.units),2) as average_price +FROM Prices as a +JOIN UnitsSold as b +ON a.product_id=b.product_id AND (b.purchase_date BETWEEN a.start_date AND a.end_date) +GROUP BY product_id; + +-- SELECT product_id, ROUND(AVG(COALESCE(price, 0)), 2) AS average_price \ No newline at end of file From c0890ffd073dd4634a767ae20bc9ba6110f20815 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Thu, 13 Mar 2025 22:25:58 +0530 Subject: [PATCH 008/353] adding mysql file prosnol to add language --- prosnal_database.sql | 104 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 prosnal_database.sql diff --git a/prosnal_database.sql b/prosnal_database.sql new file mode 100644 index 0000000..4e75df7 --- /dev/null +++ b/prosnal_database.sql @@ -0,0 +1,104 @@ +CREATE DATABASE IF NOT EXISTS prosnal_database; +USE prosnal_database; + +CREATE TABLE IF NOT EXISTS Employees ( + Id INT, + Name VARCHAR(255), + Salary INT, + Department VARCHAR(255) +); + +INSERT INTO Employees (Id, Name, Salary, Department) +VALUES (1, 'John Doe', 50000, 'HR'), + (2, 'Jane Smith', 60000, 'Finance'), + (3, 'Mike Johnson', 70000, 'IT'), + (4, 'Sarah Black', 60000, 'Finance'), + (5, 'David White', 70000, 'IT'); + +CREATE TABLE IF NOT EXISTS Projects ( + Id INT, + Name VARCHAR(255), + Department VARCHAR(255) + ); + + INSERT INTO Projects (Id, Name, Department) + VALUES (1, 'Project A', 'IT'), + (2, 'Project B', 'Finance'), + (3, 'Project C', 'IT'); + +CREATE TABLE IF NOT EXISTS EmployeeProjects ( + EmployeeId INT, + ProjectId INT + ); + + INSERT INTO EmployeeProjects (EmployeeId, ProjectId) + VALUES (1, 1), + (1, 2), + (2, 1), + (3, 1), + (3, 3), + (4, 2), + (5, 1); + +SELECT e.Name AS EmployeeName, e.Department, p.Name AS ProjectName, p.Department +FROM Employees e +JOIN EmployeeProjects ep +ON e.Id = ep.EmployeeId +JOIN Projects p +ON ep.ProjectId = p.Id; + +CREATE TABLE users ( + id INT PRIMARY KEY, + name VARCHAR(50), + email VARCHAR(100) +); + +INSERT INTO users (id, name, email) +VALUES (1, 'John Doe', 'john.doe@example.com'), + (2, 'Jane Smith', 'antima@example.com'); + +CREATE TABLE sessions ( + id INT PRIMARY KEY, + user_id INT, + session_date DATE +); + +INSERT INTO sessions (id, user_id, session_date) +VALUES (1, 1, '2022-01-01'), + (2, 1, '2022-01-02'), + (3, 2, '2022-01-03'); + +SELECT u.name AS user_name, s.session_date +FROM users u +JOIN sessions s +ON u.id = s.user_id; + +CREATE TABLE IF NOT EXISTS products ( + id INT PRIMARY KEY, + name VARCHAR(50), + price DECIMAL(10, 2) +); + +INSERT INTO products (id, name, price) +VALUES (1, 'Product A', 10.99), + (2, 'Product B', 20.99), + (3, 'Product C', 30.99); + +CREATE TABLE IF NOT EXISTS orders ( + id INT PRIMARY KEY, + product_id INT, + quantity INT +); + +INSERT INTO orders (id, product_id, quantity) +VALUES (1, 1, 5), + (2, 2, 3), + (3, 3, 1), + (4, 1, 2), + (5, 2, 4); + +SELECT p.name AS product_name, o.quantity, p.price * o.quantity AS total_price +FROM products p +JOIN orders o +ON p.id = o.product_id; +``` From 64243dc658bf300b9317510b33e94a77522560aa Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Thu, 13 Mar 2025 22:31:58 +0530 Subject: [PATCH 009/353] Force GitHub to detect SQL --- .gitattributes | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..82dabcb --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +*.sql linguist-detectable=true +*.sql linguist-language=SQL From 3cfededd9cc5c503803ff6a1339e5d2d418054ff Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Thu, 13 Mar 2025 22:33:03 +0530 Subject: [PATCH 010/353] Trigger GitHub language update From 67d2b43ee92ddfa1f015e52675c812e217b95c71 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Thu, 13 Mar 2025 23:02:03 +0530 Subject: [PATCH 011/353] today Sql work --- .gitattributes | 5 ++ 1075. Project Employees I.sql | 82 +++++++++++++++++++++++++++++++++ 1251. Average Selling Price.sql | 12 +++-- 3 files changed, 94 insertions(+), 5 deletions(-) create mode 100644 1075. Project Employees I.sql diff --git a/.gitattributes b/.gitattributes index 82dabcb..8e05635 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,7 @@ *.sql linguist-detectable=true *.sql linguist-language=SQL + + +*.md linguist-vendored +*.json linguist-vendored +*.py linguist-vendored diff --git a/1075. Project Employees I.sql b/1075. Project Employees I.sql new file mode 100644 index 0000000..385a71d --- /dev/null +++ b/1075. Project Employees I.sql @@ -0,0 +1,82 @@ +1075. Project Employees I +Solved +Easy +Topics +Companies +SQL Schema +Pandas Schema +Table: Project + ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| project_id | int | +| employee_id | int | ++-------------+---------+ +(project_id, employee_id) is the primary key of this table. +employee_id is a foreign key to Employee table. +Each row of this table indicates that the employee with employee_id is working on the project with project_id. + + +Table: Employee + ++------------------+---------+ +| Column Name | Type | ++------------------+---------+ +| employee_id | int | +| name | varchar | +| experience_years | int | ++------------------+---------+ +employee_id is the primary key of this table. It's guaranteed that experience_years is not NULL. +Each row of this table contains information about one employee. + + +Write an SQL query that reports the average experience years of all the employees for each project, rounded to 2 digits. + +Return the result table in any order. + +The query result format is in the following example. + + + +Example 1: + +Input: +Project table: ++-------------+-------------+ +| project_id | employee_id | ++-------------+-------------+ +| 1 | 1 | +| 1 | 2 | +| 1 | 3 | +| 2 | 1 | +| 2 | 4 | ++-------------+-------------+ +Employee table: ++-------------+--------+------------------+ +| employee_id | name | experience_years | ++-------------+--------+------------------+ +| 1 | Khaled | 3 | +| 2 | Ali | 2 | +| 3 | John | 1 | +| 4 | Doe | 2 | ++-------------+--------+------------------+ +Output: ++-------------+---------------+ +| project_id | average_years | ++-------------+---------------+ +| 1 | 2.00 | +| 2 | 2.50 | ++-------------+---------------+ +Explanation: The average experience years for the first project is (3 + 2 + 1) / 3 = 2.00 and for the second project is (3 + 2) / 2 = 2.50 + +'''SQL + +# Write your MySQL query statement below +select project_id , round(avg(experience_years), 2) as average_years +from project as p +left join employee as e +on p.employee_id = e.employee_id +group by project_id; + +''' \ No newline at end of file diff --git a/1251. Average Selling Price.sql b/1251. Average Selling Price.sql index df09476..82eb691 100644 --- a/1251. Average Selling Price.sql +++ b/1251. Average Selling Price.sql @@ -75,10 +75,12 @@ Average selling price for product 2 = ((200 * 15) + (30 * 30)) / 230 = 16.96 Note that the average selling price is 0 if the product was not sold. # Write your MySQL query statement below -SELECT a.product_id,ROUND(SUM(b.units*a.price)/SUM(b.units),2) as average_price -FROM Prices as a -JOIN UnitsSold as b -ON a.product_id=b.product_id AND (b.purchase_date BETWEEN a.start_date AND a.end_date) -GROUP BY product_id; +# Write your MySQL query statement below +SELECT p.product_id, IFNULL(round(SUM(p.price*u.units)/sum(u.units),2),0) as average_price +FROM Prices p +LEFT JOIN UnitsSold u +ON p.product_id = u.product_id AND +u.purchase_date BETWEEN p.Start_date and p.end_date +GROUP BY p.product_id -- SELECT product_id, ROUND(AVG(COALESCE(price, 0)), 2) AS average_price \ No newline at end of file From edfbe7fb80310fdb79f6cb4560119eec7d4f771f Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Thu, 13 Mar 2025 23:17:35 +0530 Subject: [PATCH 012/353] ok= --- ...Percentage of Users Attended a Contest.sql | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 1633. Percentage of Users Attended a Contest.sql diff --git a/1633. Percentage of Users Attended a Contest.sql b/1633. Percentage of Users Attended a Contest.sql new file mode 100644 index 0000000..86ac117 --- /dev/null +++ b/1633. Percentage of Users Attended a Contest.sql @@ -0,0 +1,84 @@ +1633. Percentage of Users Attended a Contest + +Table: Users + ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| user_id | int | +| user_name | varchar | ++-------------+---------+ +user_id is the primary key (column with unique values) for this table. +Each row of this table contains the name and the id of a user. + + +Table: Register + ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| contest_id | int | +| user_id | int | ++-------------+---------+ +(contest_id, user_id) is the primary key (combination of columns with unique values) for this table. +Each row of this table contains the id of a user and the contest they registered into. + + +Write a solution to find the percentage of the users registered in each contest rounded to two decimals. + +Return the result table ordered by percentage in descending order. In case of a tie, order it by contest_id in ascending order. + +The result format is in the following example. + + + +Example 1: + +Input: +Users table: ++---------+-----------+ +| user_id | user_name | ++---------+-----------+ +| 6 | Alice | +| 2 | Bob | +| 7 | Alex | ++---------+-----------+ +Register table: ++------------+---------+ +| contest_id | user_id | ++------------+---------+ +| 215 | 6 | +| 209 | 2 | +| 208 | 2 | +| 210 | 6 | +| 208 | 6 | +| 209 | 7 | +| 209 | 6 | +| 215 | 7 | +| 208 | 7 | +| 210 | 2 | +| 207 | 2 | +| 210 | 7 | ++------------+---------+ +Output: ++------------+------------+ +| contest_id | percentage | ++------------+------------+ +| 208 | 100.0 | +| 209 | 100.0 | +| 210 | 100.0 | +| 215 | 66.67 | +| 207 | 33.33 | ++------------+------------+ +Explanation: +All the users registered in contests 208, 209, and 210. The percentage is 100% and we sort them in the answer table by contest_id in ascending order. +Alice and Alex registered in contest 215 and the percentage is ((2/3) * 100) = 66.67% +Bob registered in contest 207 and the percentage is ((1/3) * 100) = 33.33% + + +# Write your MySQL query statement below + +SELECT contest_id, ROUND((COUNT(user_id) / (SELECT COUNT(*) FROM Users) * 100), 2) AS percentage +FROM Register +GROUP BY contest_id +ORDER BY percentage DESC, contest_id ASC; \ No newline at end of file From 68f7131bb9a901302a655e699da5b64dd7bcd439 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Fri, 14 Mar 2025 03:09:42 +0530 Subject: [PATCH 013/353] Create 1211. Queries Quality and Percentage.sql this is today task of sql Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- 1211. Queries Quality and Percentage.sql | 71 ++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 1211. Queries Quality and Percentage.sql diff --git a/1211. Queries Quality and Percentage.sql b/1211. Queries Quality and Percentage.sql new file mode 100644 index 0000000..b900382 --- /dev/null +++ b/1211. Queries Quality and Percentage.sql @@ -0,0 +1,71 @@ +1211. Queries Quality and Percentage + +Table: Queries + ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| query_name | varchar | +| result | varchar | +| position | int | +| rating | int | ++-------------+---------+ +This table may have duplicate rows. +This table contains information collected from some queries on a database. +The position column has a value from 1 to 500. +The rating column has a value from 1 to 5. Query with rating less than 3 is a poor query. + + +We define query quality as: + +The average of the ratio between query rating and its position. + +We also define poor query percentage as: + +The percentage of all queries with rating less than 3. + +Write a solution to find each query_name, the quality and poor_query_percentage. + +Both quality and poor_query_percentage should be rounded to 2 decimal places. + +Return the result table in any order. + +The result format is in the following example. + + + +Example 1: + +Input: +Queries table: ++------------+-------------------+----------+--------+ +| query_name | result | position | rating | ++------------+-------------------+----------+--------+ +| Dog | Golden Retriever | 1 | 5 | +| Dog | German Shepherd | 2 | 5 | +| Dog | Mule | 200 | 1 | +| Cat | Shirazi | 5 | 2 | +| Cat | Siamese | 3 | 3 | +| Cat | Sphynx | 7 | 4 | ++------------+-------------------+----------+--------+ +Output: ++------------+---------+-----------------------+ +| query_name | quality | poor_query_percentage | ++------------+---------+-----------------------+ +| Dog | 2.50 | 33.33 | +| Cat | 0.66 | 33.33 | ++------------+---------+-----------------------+ +Explanation: +Dog queries quality is ((5 / 1) + (5 / 2) + (1 / 200)) / 3 = 2.50 +Dog queries poor_ query_percentage is (1 / 3) * 100 = 33.33 + +Cat queries quality equals ((2 / 5) + (3 / 3) + (4 / 7)) / 3 = 0.66 +Cat queries poor_ query_percentage is (1 / 3) * 100 = 33.33 + + +# Write your MySQL query statement below +SELECT query_name, +ROUND(AVG(rating * 1.0 / position), 2) AS quality, +ROUND(SUM(CASE WHEN rating < 3 THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) AS poor_query_percentage +FROM Queries +GROUP BY query_name; \ No newline at end of file From c9e2837152f13080d4c8b1e8a019fd991e29e7e9 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Fri, 14 Mar 2025 03:17:39 +0530 Subject: [PATCH 014/353] Create contributing.md Signed-off-by: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> --- contributing.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 contributing.md diff --git a/contributing.md b/contributing.md new file mode 100644 index 0000000..65c67f9 --- /dev/null +++ b/contributing.md @@ -0,0 +1 @@ +# Contribute everyone From 024363e66d299904d5c3686468132be12c6498dd Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Fri, 14 Mar 2025 03:44:43 +0530 Subject: [PATCH 015/353] Update 1211. Queries Quality and Percentage.sql Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- 1211. Queries Quality and Percentage.sql | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/1211. Queries Quality and Percentage.sql b/1211. Queries Quality and Percentage.sql index b900382..cc299ea 100644 --- a/1211. Queries Quality and Percentage.sql +++ b/1211. Queries Quality and Percentage.sql @@ -68,4 +68,10 @@ SELECT query_name, ROUND(AVG(rating * 1.0 / position), 2) AS quality, ROUND(SUM(CASE WHEN rating < 3 THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) AS poor_query_percentage FROM Queries -GROUP BY query_name; \ No newline at end of file +GROUP BY query_name; + +-- SELECT query_name, +-- ROUND(AVG(rating * 1.0 / position), 2) AS quality, +-- ROUND(SUM(IF(rating < 3, 1, 0)) * 100.0 / COUNT(*), 2) AS poor_query_percentage +-- FROM Queries +-- GROUP BY query_name; \ No newline at end of file From aa075d2d3b3eb7a7bfd4a1365cb84d802b7930d1 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Fri, 14 Mar 2025 16:47:58 +0530 Subject: [PATCH 016/353] yes this is to add today task yes this is to add today task Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- 1193. Monthly Transactions I.sql | 49 ++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 1193. Monthly Transactions I.sql diff --git a/1193. Monthly Transactions I.sql b/1193. Monthly Transactions I.sql new file mode 100644 index 0000000..293451f --- /dev/null +++ b/1193. Monthly Transactions I.sql @@ -0,0 +1,49 @@ +1193. Monthly Transactions I + +Table: Transactions + ++---------------+---------+ +| Column Name | Type | ++---------------+---------+ +| id | int | +| country | varchar | +| state | enum | +| amount | int | +| trans_date | date | ++---------------+---------+ +id is the primary key of this table. +The table has information about incoming transactions. +The state column is an enum of type ["approved", "declined"]. + + +Write an SQL query to find for each month and country, the number of transactions and their total amount, the number of approved transactions and their total amount. + +Return the result table in any order. + +The query result format is in the following example. + + + +Example 1: + +Input: +Transactions table: ++------+---------+----------+--------+------------+ +| id | country | state | amount | trans_date | ++------+---------+----------+--------+------------+ +| 121 | US | approved | 1000 | 2018-12-18 | +| 122 | US | declined | 2000 | 2018-12-19 | +| 123 | US | approved | 2000 | 2019-01-01 | +| 124 | DE | approved | 2000 | 2019-01-07 | ++------+---------+----------+--------+------------+ +Output: ++----------+---------+-------------+----------------+--------------------+-----------------------+ +| month | country | trans_count | approved_count | trans_total_amount | approved_total_amount | ++----------+---------+-------------+----------------+--------------------+-----------------------+ +| 2018-12 | US | 2 | 1 | 3000 | 1000 | +| 2019-01 | US | 1 | 1 | 2000 | 2000 | +| 2019-01 | DE | 1 | 1 | 2000 | 2000 | ++----------+---------+-------------+----------------+--------------------+-----------------------+ + + +# Write your MySQL query statement below \ No newline at end of file From 4965b5ded0db5cb97c7470e036588fd8a3fa3334 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Fri, 14 Mar 2025 16:54:54 +0530 Subject: [PATCH 017/353] this is some more question of sql Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- 1174. Immediate Food Delivery II.sql | 72 ++++++++++++++++++++++++++++ 550. Game Play Analysis IV.sql | 45 +++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 1174. Immediate Food Delivery II.sql create mode 100644 550. Game Play Analysis IV.sql diff --git a/1174. Immediate Food Delivery II.sql b/1174. Immediate Food Delivery II.sql new file mode 100644 index 0000000..f7c9563 --- /dev/null +++ b/1174. Immediate Food Delivery II.sql @@ -0,0 +1,72 @@ +1174. Immediate Food Delivery II +Medium +Topics +Companies +SQL Schema +Pandas Schema +Table: Delivery + ++-----------------------------+---------+ +| Column Name | Type | ++-----------------------------+---------+ +| delivery_id | int | +| customer_id | int | +| order_date | date | +| customer_pref_delivery_date | date | ++-----------------------------+---------+ +delivery_id is the column of unique values of this table. +The table holds information about food delivery to customers that make orders at some date and specify a preferred delivery date (on the same order date or after it). + + +If the customer's preferred delivery date is the same as the order date, then the order is called immediate; otherwise, it is called scheduled. + +The first order of a customer is the order with the earliest order date that the customer made. It is guaranteed that a customer has precisely one first order. + +Write a solution to find the percentage of immediate orders in the first orders of all customers, rounded to 2 decimal places. + +The result format is in the following example. + + + +Example 1: + +Input: +Delivery table: ++-------------+-------------+------------+-----------------------------+ +| delivery_id | customer_id | order_date | customer_pref_delivery_date | ++-------------+-------------+------------+-----------------------------+ +| 1 | 1 | 2019-08-01 | 2019-08-02 | +| 2 | 2 | 2019-08-02 | 2019-08-02 | +| 3 | 1 | 2019-08-11 | 2019-08-12 | +| 4 | 3 | 2019-08-24 | 2019-08-24 | +| 5 | 3 | 2019-08-21 | 2019-08-22 | +| 6 | 2 | 2019-08-11 | 2019-08-13 | +| 7 | 4 | 2019-08-09 | 2019-08-09 | ++-------------+-------------+------------+-----------------------------+ +Output: ++----------------------+ +| immediate_percentage | ++----------------------+ +| 50.00 | ++----------------------+ +Explanation: +The customer id 1 has a first order with delivery id 1 and it is scheduled. +The customer id 2 has a first order with delivery id 2 and it is immediate. +The customer id 3 has a first order with delivery id 5 and it is scheduled. +The customer id 4 has a first order with delivery id 7 and it is immediate. +Hence, half the customers have immediate first orders. + + + +# Write your MySQL query statement below +''' + + +select +round(100*sum(case when b.min_order_date = b.min_delivery_date then 1 else 0 end)/count(*), 2) +as immediate_percentage +from ( + select min(order_date) as min_order_date, min(customer_pref_delivery_date) as min_delivery_date + from delivery + group by customer_id +) b; \ No newline at end of file diff --git a/550. Game Play Analysis IV.sql b/550. Game Play Analysis IV.sql new file mode 100644 index 0000000..a33c9f8 --- /dev/null +++ b/550. Game Play Analysis IV.sql @@ -0,0 +1,45 @@ +550. Game Play Analysis IV + +Table: Activity + ++--------------+---------+ +| Column Name | Type | ++--------------+---------+ +| player_id | int | +| device_id | int | +| event_date | date | +| games_played | int | ++--------------+---------+ +(player_id, event_date) is the primary key (combination of columns with unique values) of this table. +This table shows the activity of players of some games. +Each row is a record of a player who logged in and played a number of games (possibly 0) before logging out on someday using some device. + + +Write a solution to report the fraction of players that logged in again on the day after the day they first logged in, rounded to 2 decimal places. In other words, you need to count the number of players that logged in for at least two consecutive days starting from their first login date, then divide that number by the total number of players. + +The result format is in the following example. + + + +Example 1: + +Input: +Activity table: ++-----------+-----------+------------+--------------+ +| player_id | device_id | event_date | games_played | ++-----------+-----------+------------+--------------+ +| 1 | 2 | 2016-03-01 | 5 | +| 1 | 2 | 2016-03-02 | 6 | +| 2 | 3 | 2017-06-25 | 1 | +| 3 | 1 | 2016-03-02 | 0 | +| 3 | 4 | 2018-07-03 | 5 | ++-----------+-----------+------------+--------------+ +Output: ++-----------+ +| fraction | ++-----------+ +| 0.33 | ++-----------+ +Explanation: +Only the player with id 1 logged back in after the first day he had logged in so the answer is 1/3 = 0.33 + From 0d52857bca1eee2e1d1def644b5be58adf7436e7 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Fri, 14 Mar 2025 16:57:47 +0530 Subject: [PATCH 018/353] solution Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- 550. Game Play Analysis IV.sql | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/550. Game Play Analysis IV.sql b/550. Game Play Analysis IV.sql index a33c9f8..dda489d 100644 --- a/550. Game Play Analysis IV.sql +++ b/550. Game Play Analysis IV.sql @@ -43,3 +43,13 @@ Output: Explanation: Only the player with id 1 logged back in after the first day he had logged in so the answer is 1/3 = 0.33 +# Write your MySQL query statement below +select +round((select count(distinct a.player_id) from Activity a +inner join +(select player_id, min(event_date) as first_logged + from Activity + group by player_id) b on datediff(a.event_date, b.first_logged)=1 + and a.player_id = b.player_id) + / + (select count(distinct player_id) from Activity),2) as fraction; \ No newline at end of file From fd54abf986f342d6acbc0529726818e83c53aad7 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Fri, 14 Mar 2025 17:01:52 +0530 Subject: [PATCH 019/353] problem no 1141 Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- .... User Activity for the Past 30 Days I.sql | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 1141. User Activity for the Past 30 Days I.sql diff --git a/1141. User Activity for the Past 30 Days I.sql b/1141. User Activity for the Past 30 Days I.sql new file mode 100644 index 0000000..e3a7bda --- /dev/null +++ b/1141. User Activity for the Past 30 Days I.sql @@ -0,0 +1,67 @@ +1141. User Activity for the Past 30 Days I + +Table: Activity + ++---------------+---------+ +| Column Name | Type | ++---------------+---------+ +| user_id | int | +| session_id | int | +| activity_date | date | +| activity_type | enum | ++---------------+---------+ +This table may have duplicate rows. +The activity_type column is an ENUM (category) of type ('open_session', 'end_session', 'scroll_down', 'send_message'). +The table shows the user activities for a social media website. +Note that each session belongs to exactly one user. + + +Write a solution to find the daily active user count for a period of 30 days ending 2019-07-27 inclusively. A user was active on someday if they made at least one activity on that day. + +Return the result table in any order. + +The result format is in the following example. + + + +Example 1: + +Input: +Activity table: ++---------+------------+---------------+---------------+ +| user_id | session_id | activity_date | activity_type | ++---------+------------+---------------+---------------+ +| 1 | 1 | 2019-07-20 | open_session | +| 1 | 1 | 2019-07-20 | scroll_down | +| 1 | 1 | 2019-07-20 | end_session | +| 2 | 4 | 2019-07-20 | open_session | +| 2 | 4 | 2019-07-21 | send_message | +| 2 | 4 | 2019-07-21 | end_session | +| 3 | 2 | 2019-07-21 | open_session | +| 3 | 2 | 2019-07-21 | send_message | +| 3 | 2 | 2019-07-21 | end_session | +| 4 | 3 | 2019-06-25 | open_session | +| 4 | 3 | 2019-06-25 | end_session | ++---------+------------+---------------+---------------+ +Output: ++------------+--------------+ +| day | active_users | ++------------+--------------+ +| 2019-07-20 | 2 | +| 2019-07-21 | 2 | ++------------+--------------+ +Explanation: Note that we do not care about days with zero active users. + +# 1141. User Activity for the Past 30 Days I + +# Find the daily active user count for a period of 30 days ending 2019-07-27 inclusively. A user was active on some day if he/she made at least one activity on that day. +# Note that we do not care about days with zero active users + +SELECT + activity_date AS day, + COUNT(DISTINCT user_id) AS active_users +FROM + Activity +WHERE + DATEDIFF('2019-07-27', activity_date) < 30 AND DATEDIFF('2019-07-27', activity_date)>=0 +GROUP BY 1 \ No newline at end of file From e4d5d1d719c5d374bc14f1c898e893009b5cddea Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Fri, 14 Mar 2025 17:08:01 +0530 Subject: [PATCH 020/353] Create 2356. Number of Unique Subjects Taught by Each Teacher.sql Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- ...Unique Subjects Taught by Each Teacher.sql | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 2356. Number of Unique Subjects Taught by Each Teacher.sql diff --git a/2356. Number of Unique Subjects Taught by Each Teacher.sql b/2356. Number of Unique Subjects Taught by Each Teacher.sql new file mode 100644 index 0000000..16e090a --- /dev/null +++ b/2356. Number of Unique Subjects Taught by Each Teacher.sql @@ -0,0 +1,61 @@ +2356. Number of Unique Subjects Taught by Each Teacher + +Table: Teacher + ++-------------+------+ +| Column Name | Type | ++-------------+------+ +| teacher_id | int | +| subject_id | int | +| dept_id | int | ++-------------+------+ +(subject_id, dept_id) is the primary key (combinations of columns with unique values) of this table. +Each row in this table indicates that the teacher with teacher_id teaches the subject subject_id in the department dept_id. + + +Write a solution to calculate the number of unique subjects each teacher teaches in the university. + +Return the result table in any order. + +The result format is shown in the following example. + + + +Example 1: + +Input: +Teacher table: ++------------+------------+---------+ +| teacher_id | subject_id | dept_id | ++------------+------------+---------+ +| 1 | 2 | 3 | +| 1 | 2 | 4 | +| 1 | 3 | 3 | +| 2 | 1 | 1 | +| 2 | 2 | 1 | +| 2 | 3 | 1 | +| 2 | 4 | 1 | ++------------+------------+---------+ +Output: ++------------+-----+ +| teacher_id | cnt | ++------------+-----+ +| 1 | 2 | +| 2 | 4 | ++------------+-----+ +Explanation: +Teacher 1: + - They teach subject 2 in departments 3 and 4. + - They teach subject 3 in department 3. +Teacher 2: + - They teach subject 1 in department 1. + - They teach subject 2 in department 1. + - They teach subject 3 in department 1. + - They teach subject 4 in department 1. + + + # Write your MySQL query statement below +SELECT teacher_id, COUNT(DISTINCT subject_id) AS cnt +FROM Teacher +GROUP BY 1; + From 1a6981fd22ea1afcf8b3390f57e954c70e7a7660 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Fri, 14 Mar 2025 17:15:19 +0530 Subject: [PATCH 021/353] Create 1070. Product Sales Analysis III.sql Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- 1070. Product Sales Analysis III.sql | 90 ++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 1070. Product Sales Analysis III.sql diff --git a/1070. Product Sales Analysis III.sql b/1070. Product Sales Analysis III.sql new file mode 100644 index 0000000..aac9538 --- /dev/null +++ b/1070. Product Sales Analysis III.sql @@ -0,0 +1,90 @@ +1070. Product Sales Analysis III +Medium +Topics +Companies +SQL Schema +Pandas Schema +Table: Sales + ++-------------+-------+ +| Column Name | Type | ++-------------+-------+ +| sale_id | int | +| product_id | int | +| year | int | +| quantity | int | +| price | int | ++-------------+-------+ +(sale_id, year) is the primary key (combination of columns with unique values) of this table. +product_id is a foreign key (reference column) to Product table. +Each row of this table shows a sale on the product product_id in a certain year. +Note that the price is per unit. + + +Table: Product + ++--------------+---------+ +| Column Name | Type | ++--------------+---------+ +| product_id | int | +| product_name | varchar | ++--------------+---------+ +product_id is the primary key (column with unique values) of this table. +Each row of this table indicates the product name of each product. + + +Write a solution to select the product id, year, quantity, and price for the first year of every product sold. + +Return the resulting table in any order. + +The result format is in the following example. + + + +Example 1: + +Input: +Sales table: ++---------+------------+------+----------+-------+ +| sale_id | product_id | year | quantity | price | ++---------+------------+------+----------+-------+ +| 1 | 100 | 2008 | 10 | 5000 | +| 2 | 100 | 2009 | 12 | 5000 | +| 7 | 200 | 2011 | 15 | 9000 | ++---------+------------+------+----------+-------+ +Product table: ++------------+--------------+ +| product_id | product_name | ++------------+--------------+ +| 100 | Nokia | +| 200 | Apple | +| 300 | Samsung | ++------------+--------------+ +Output: ++------------+------------+----------+-------+ +| product_id | first_year | quantity | price | ++------------+------------+----------+-------+ +| 100 | 2008 | 10 | 5000 | +| 200 | 2011 | 15 | 9000 | ++------------+------------+----------+-------+ + + + +# Write your MySQL query statement below +SELECT + product_id, + year AS first_year, + quantity, + price +FROM + Sales +WHERE + (product_id, year) IN ( + SELECT + product_id, + MIN(year) AS year + FROM + Sales + GROUP BY + product_id + ); \ No newline at end of file From 6527da530b04b15163a7a86fcc8a4abac36d01ee Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Fri, 14 Mar 2025 17:18:46 +0530 Subject: [PATCH 022/353] 596. Classes More Than 5 Students Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- 1070. Product Sales Analysis III.sql | 7 +--- 596. Classes More Than 5 Students.sql | 55 +++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 6 deletions(-) create mode 100644 596. Classes More Than 5 Students.sql diff --git a/1070. Product Sales Analysis III.sql b/1070. Product Sales Analysis III.sql index aac9538..f284841 100644 --- a/1070. Product Sales Analysis III.sql +++ b/1070. Product Sales Analysis III.sql @@ -1,10 +1,5 @@ 1070. Product Sales Analysis III -Medium -Topics -Companies -SQL Schema -Pandas Schema -Table: Sales + +-------------+-------+ | Column Name | Type | diff --git a/596. Classes More Than 5 Students.sql b/596. Classes More Than 5 Students.sql new file mode 100644 index 0000000..9a61ac4 --- /dev/null +++ b/596. Classes More Than 5 Students.sql @@ -0,0 +1,55 @@ +596. Classes More Than 5 Students + ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| student | varchar | +| class | varchar | ++-------------+---------+ +(student, class) is the primary key (combination of columns with unique values) for this table. +Each row of this table indicates the name of a student and the class in which they are enrolled. + + +Write a solution to find all the classes that have at least five students. + +Return the result table in any order. + +The result format is in the following example. + + + +Example 1: + +Input: +Courses table: ++---------+----------+ +| student | class | ++---------+----------+ +| A | Math | +| B | English | +| C | Math | +| D | Biology | +| E | Math | +| F | Computer | +| G | Math | +| H | Math | +| I | Math | ++---------+----------+ +Output: ++---------+ +| class | ++---------+ +| Math | ++---------+ +Explanation: +- Math has 6 students, so we include it. +- English has 1 student, so we do not include it. +- Biology has 1 student, so we do not include it. +- Computer has 1 student, so we do not include it. + + +# Write your MySQL query statement below +SELECT class +FROM Courses +GROUP BY class +HAVING COUNT(student) >= 5; \ No newline at end of file From c405f85e7f038157057977a41d0a95758a7bfcc4 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Fri, 14 Mar 2025 17:24:41 +0530 Subject: [PATCH 023/353] Create 1729. Find Followers Count.sql Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- 1729. Find Followers Count.sql | 51 ++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 1729. Find Followers Count.sql diff --git a/1729. Find Followers Count.sql b/1729. Find Followers Count.sql new file mode 100644 index 0000000..79fca7a --- /dev/null +++ b/1729. Find Followers Count.sql @@ -0,0 +1,51 @@ +1729. Find Followers Count + ++-------------+------+ +| Column Name | Type | ++-------------+------+ +| user_id | int | +| follower_id | int | ++-------------+------+ +(user_id, follower_id) is the primary key (combination of columns with unique values) for this table. +This table contains the IDs of a user and a follower in a social media app where the follower follows the user. + + +Write a solution that will, for each user, return the number of followers. + +Return the result table ordered by user_id in ascending order. + +The result format is in the following example. + + + +Example 1: + +Input: +Followers table: ++---------+-------------+ +| user_id | follower_id | ++---------+-------------+ +| 0 | 1 | +| 1 | 0 | +| 2 | 0 | +| 2 | 1 | ++---------+-------------+ +Output: ++---------+----------------+ +| user_id | followers_count| ++---------+----------------+ +| 0 | 1 | +| 1 | 1 | +| 2 | 2 | ++---------+----------------+ +Explanation: +The followers of 0 are {1} +The followers of 1 are {0} +The followers of 2 are {0,1} + + +# Write your MySQL query statement below +SELECT user_id, COUNT(follower_id) AS followers_count +FROM Followers +GROUP BY user_id +ORDER BY user_id; \ No newline at end of file From 129da038b776156c76077d8b9b40387b2f5a69df Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Fri, 14 Mar 2025 17:28:00 +0530 Subject: [PATCH 024/353] Create 619. Biggest Single Number.sql Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- 619. Biggest Single Number.sql | 77 ++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 619. Biggest Single Number.sql diff --git a/619. Biggest Single Number.sql b/619. Biggest Single Number.sql new file mode 100644 index 0000000..0d98df2 --- /dev/null +++ b/619. Biggest Single Number.sql @@ -0,0 +1,77 @@ +619. Biggest Single Number + +Table: MyNumbers + ++-------------+------+ +| Column Name | Type | ++-------------+------+ +| num | int | ++-------------+------+ +This table may contain duplicates (In other words, there is no primary key for this table in SQL). +Each row of this table contains an integer. + + +A single number is a number that appeared only once in the MyNumbers table. + +Find the largest single number. If there is no single number, report null. + +The result format is in the following example. + + + +Example 1: + +Input: +MyNumbers table: ++-----+ +| num | ++-----+ +| 8 | +| 8 | +| 3 | +| 3 | +| 1 | +| 4 | +| 5 | +| 6 | ++-----+ +Output: ++-----+ +| num | ++-----+ +| 6 | ++-----+ +Explanation: The single numbers are 1, 4, 5, and 6. +Since 6 is the largest single number, we return it. +Example 2: + +Input: +MyNumbers table: ++-----+ +| num | ++-----+ +| 8 | +| 8 | +| 7 | +| 7 | +| 3 | +| 3 | +| 3 | ++-----+ +Output: ++------+ +| num | ++------+ +| null | ++------+ +Explanation: There are no single numbers in the input table so we return null. + + +# Write your MySQL query statement below +SELECT MAX(num) AS num +FROM ( + SELECT num + FROM MyNumbers + GROUP BY num + HAVING COUNT(num) = 1 +) AS unique_numbers; \ No newline at end of file From fe939032abeb279cbefff2b757b1c4c9b1812632 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Fri, 14 Mar 2025 17:38:06 +0530 Subject: [PATCH 025/353] Create 1045. Customers Who Bought All Products.sql Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- 1045. Customers Who Bought All Products.sql | 68 +++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 1045. Customers Who Bought All Products.sql diff --git a/1045. Customers Who Bought All Products.sql b/1045. Customers Who Bought All Products.sql new file mode 100644 index 0000000..15c730d --- /dev/null +++ b/1045. Customers Who Bought All Products.sql @@ -0,0 +1,68 @@ +1045. Customers Who Bought All Products + +Table: Customer + ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| customer_id | int | +| product_key | int | ++-------------+---------+ +This table may contain duplicates rows. +customer_id is not NULL. +product_key is a foreign key (reference column) to Product table. + + +Table: Product + ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| product_key | int | ++-------------+---------+ +product_key is the primary key (column with unique values) for this table. + + +Write a solution to report the customer ids from the Customer table that bought all the products in the Product table. + +Return the result table in any order. + +The result format is in the following example. + + + +Example 1: + +Input: +Customer table: ++-------------+-------------+ +| customer_id | product_key | ++-------------+-------------+ +| 1 | 5 | +| 2 | 6 | +| 3 | 5 | +| 3 | 6 | +| 1 | 6 | ++-------------+-------------+ +Product table: ++-------------+ +| product_key | ++-------------+ +| 5 | +| 6 | ++-------------+ +Output: ++-------------+ +| customer_id | ++-------------+ +| 1 | +| 3 | ++-------------+ +Explanation: +The customers who bought all the products (5 and 6) are customers with IDs 1 and 3. + + + +# Write your MySQL query statement below +SELECT customer_id FROM Customer GROUP BY customer_id +HAVING COUNT(distinct product_key) = (SELECT COUNT(product_key) FROM Product); \ No newline at end of file From 520b5eb34aa8bf1d4f8658518e91371a7206f5fe Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Tue, 18 Mar 2025 00:14:16 +0530 Subject: [PATCH 026/353] create a folder and add all fils in that --- .../1045. Customers Who Bought All Products.sql | 0 .../1068. Product Sales Analysis I.sql | 0 .../1070. Product Sales Analysis III.sql | 0 .../1075. Project Employees I.sql | 0 .../1141. User Activity for the Past 30 Days I.sql | 0 .../1148. Article Views I.sql | 0 .../1174. Immediate Food Delivery II.sql | 0 .../1193. Monthly Transactions I.sql | 0 .../1211. Queries Quality and Percentage.sql | 0 .../1251. Average Selling Price.sql | 0 .../1280. Students and Examinations.sql | 0 ...1378. Replace Employee ID With The Unique Identifier.sql | 0 .../1633. Percentage of Users Attended a Contest.sql | 0 .../1683. Invalid Tweets.sql | 0 .../1729. Find Followers Count.sql | 0 .../1757. Recyclable and Low Fat Products.sql | 6 +++--- .../176. Second heighest salary.sql | 0 .../177. Nth Highest Salary.sql | 0 .../185. Department Top Three Salaries.md | 0 .../185. Department Top Three Salaries.sql | 0 .../1934. Confirmation Rate.sql | 0 ...56. Number of Unique Subjects Taught by Each Teacher.sql | 0 .../550. Game Play Analysis IV.sql | 0 .../570. Managers with at Least 5 Direct Reports.sql | 0 .../584. Find Customer Referee.sql | 0 .../595. Big Countries.sql | 0 .../596. Classes More Than 5 Students.sql | 0 .../619. Biggest Single Number.sql | 0 .../620. Not Boring Movies.sql | 0 .../prosnal_database.sql | 0 30 files changed, 3 insertions(+), 3 deletions(-) rename 1045. Customers Who Bought All Products.sql => LeetCode SQL 50 Solution/1045. Customers Who Bought All Products.sql (100%) rename 1068. Product Sales Analysis I.sql => LeetCode SQL 50 Solution/1068. Product Sales Analysis I.sql (100%) rename 1070. Product Sales Analysis III.sql => LeetCode SQL 50 Solution/1070. Product Sales Analysis III.sql (100%) rename 1075. Project Employees I.sql => LeetCode SQL 50 Solution/1075. Project Employees I.sql (100%) rename 1141. User Activity for the Past 30 Days I.sql => LeetCode SQL 50 Solution/1141. User Activity for the Past 30 Days I.sql (100%) rename 1148. Article Views I.sql => LeetCode SQL 50 Solution/1148. Article Views I.sql (100%) rename 1174. Immediate Food Delivery II.sql => LeetCode SQL 50 Solution/1174. Immediate Food Delivery II.sql (100%) rename 1193. Monthly Transactions I.sql => LeetCode SQL 50 Solution/1193. Monthly Transactions I.sql (100%) rename 1211. Queries Quality and Percentage.sql => LeetCode SQL 50 Solution/1211. Queries Quality and Percentage.sql (100%) rename 1251. Average Selling Price.sql => LeetCode SQL 50 Solution/1251. Average Selling Price.sql (100%) rename 1280. Students and Examinations.sql => LeetCode SQL 50 Solution/1280. Students and Examinations.sql (100%) rename 1378. Replace Employee ID With The Unique Identifier.sql => LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier.sql (100%) rename 1633. Percentage of Users Attended a Contest.sql => LeetCode SQL 50 Solution/1633. Percentage of Users Attended a Contest.sql (100%) rename 1683. Invalid Tweets.sql => LeetCode SQL 50 Solution/1683. Invalid Tweets.sql (100%) rename 1729. Find Followers Count.sql => LeetCode SQL 50 Solution/1729. Find Followers Count.sql (100%) rename 1757. Recyclable and Low Fat Products.sql => LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products.sql (97%) rename 176. Second heighest salary.sql => LeetCode SQL 50 Solution/176. Second heighest salary.sql (100%) rename 177. Nth Highest Salary.sql => LeetCode SQL 50 Solution/177. Nth Highest Salary.sql (100%) rename 185. Department Top Three Salaries.md => LeetCode SQL 50 Solution/185. Department Top Three Salaries.md (100%) rename 185. Department Top Three Salaries.sql => LeetCode SQL 50 Solution/185. Department Top Three Salaries.sql (100%) rename 1934. Confirmation Rate.sql => LeetCode SQL 50 Solution/1934. Confirmation Rate.sql (100%) rename 2356. Number of Unique Subjects Taught by Each Teacher.sql => LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher.sql (100%) rename 550. Game Play Analysis IV.sql => LeetCode SQL 50 Solution/550. Game Play Analysis IV.sql (100%) rename 570. Managers with at Least 5 Direct Reports.sql => LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports.sql (100%) rename 584. Find Customer Referee.sql => LeetCode SQL 50 Solution/584. Find Customer Referee.sql (100%) rename 595. Big Countries.sql => LeetCode SQL 50 Solution/595. Big Countries.sql (100%) rename 596. Classes More Than 5 Students.sql => LeetCode SQL 50 Solution/596. Classes More Than 5 Students.sql (100%) rename 619. Biggest Single Number.sql => LeetCode SQL 50 Solution/619. Biggest Single Number.sql (100%) rename 620. Not Boring Movies.sql => LeetCode SQL 50 Solution/620. Not Boring Movies.sql (100%) rename prosnal_database.sql => LeetCode SQL 50 Solution/prosnal_database.sql (100%) diff --git a/1045. Customers Who Bought All Products.sql b/LeetCode SQL 50 Solution/1045. Customers Who Bought All Products.sql similarity index 100% rename from 1045. Customers Who Bought All Products.sql rename to LeetCode SQL 50 Solution/1045. Customers Who Bought All Products.sql diff --git a/1068. Product Sales Analysis I.sql b/LeetCode SQL 50 Solution/1068. Product Sales Analysis I.sql similarity index 100% rename from 1068. Product Sales Analysis I.sql rename to LeetCode SQL 50 Solution/1068. Product Sales Analysis I.sql diff --git a/1070. Product Sales Analysis III.sql b/LeetCode SQL 50 Solution/1070. Product Sales Analysis III.sql similarity index 100% rename from 1070. Product Sales Analysis III.sql rename to LeetCode SQL 50 Solution/1070. Product Sales Analysis III.sql diff --git a/1075. Project Employees I.sql b/LeetCode SQL 50 Solution/1075. Project Employees I.sql similarity index 100% rename from 1075. Project Employees I.sql rename to LeetCode SQL 50 Solution/1075. Project Employees I.sql diff --git a/1141. User Activity for the Past 30 Days I.sql b/LeetCode SQL 50 Solution/1141. User Activity for the Past 30 Days I.sql similarity index 100% rename from 1141. User Activity for the Past 30 Days I.sql rename to LeetCode SQL 50 Solution/1141. User Activity for the Past 30 Days I.sql diff --git a/1148. Article Views I.sql b/LeetCode SQL 50 Solution/1148. Article Views I.sql similarity index 100% rename from 1148. Article Views I.sql rename to LeetCode SQL 50 Solution/1148. Article Views I.sql diff --git a/1174. Immediate Food Delivery II.sql b/LeetCode SQL 50 Solution/1174. Immediate Food Delivery II.sql similarity index 100% rename from 1174. Immediate Food Delivery II.sql rename to LeetCode SQL 50 Solution/1174. Immediate Food Delivery II.sql diff --git a/1193. Monthly Transactions I.sql b/LeetCode SQL 50 Solution/1193. Monthly Transactions I.sql similarity index 100% rename from 1193. Monthly Transactions I.sql rename to LeetCode SQL 50 Solution/1193. Monthly Transactions I.sql diff --git a/1211. Queries Quality and Percentage.sql b/LeetCode SQL 50 Solution/1211. Queries Quality and Percentage.sql similarity index 100% rename from 1211. Queries Quality and Percentage.sql rename to LeetCode SQL 50 Solution/1211. Queries Quality and Percentage.sql diff --git a/1251. Average Selling Price.sql b/LeetCode SQL 50 Solution/1251. Average Selling Price.sql similarity index 100% rename from 1251. Average Selling Price.sql rename to LeetCode SQL 50 Solution/1251. Average Selling Price.sql diff --git a/1280. Students and Examinations.sql b/LeetCode SQL 50 Solution/1280. Students and Examinations.sql similarity index 100% rename from 1280. Students and Examinations.sql rename to LeetCode SQL 50 Solution/1280. Students and Examinations.sql diff --git a/1378. Replace Employee ID With The Unique Identifier.sql b/LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier.sql similarity index 100% rename from 1378. Replace Employee ID With The Unique Identifier.sql rename to LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier.sql diff --git a/1633. Percentage of Users Attended a Contest.sql b/LeetCode SQL 50 Solution/1633. Percentage of Users Attended a Contest.sql similarity index 100% rename from 1633. Percentage of Users Attended a Contest.sql rename to LeetCode SQL 50 Solution/1633. Percentage of Users Attended a Contest.sql diff --git a/1683. Invalid Tweets.sql b/LeetCode SQL 50 Solution/1683. Invalid Tweets.sql similarity index 100% rename from 1683. Invalid Tweets.sql rename to LeetCode SQL 50 Solution/1683. Invalid Tweets.sql diff --git a/1729. Find Followers Count.sql b/LeetCode SQL 50 Solution/1729. Find Followers Count.sql similarity index 100% rename from 1729. Find Followers Count.sql rename to LeetCode SQL 50 Solution/1729. Find Followers Count.sql diff --git a/1757. Recyclable and Low Fat Products.sql b/LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products.sql similarity index 97% rename from 1757. Recyclable and Low Fat Products.sql rename to LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products.sql index fd2c848..65f4ac5 100644 --- a/1757. Recyclable and Low Fat Products.sql +++ b/LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products.sql @@ -1,4 +1,4 @@ -# Write your MySQL query statement below -select product_id -from products +# Write your MySQL query statement below +select product_id +from products where low_fats = 'Y' and recyclable = 'Y' \ No newline at end of file diff --git a/176. Second heighest salary.sql b/LeetCode SQL 50 Solution/176. Second heighest salary.sql similarity index 100% rename from 176. Second heighest salary.sql rename to LeetCode SQL 50 Solution/176. Second heighest salary.sql diff --git a/177. Nth Highest Salary.sql b/LeetCode SQL 50 Solution/177. Nth Highest Salary.sql similarity index 100% rename from 177. Nth Highest Salary.sql rename to LeetCode SQL 50 Solution/177. Nth Highest Salary.sql diff --git a/185. Department Top Three Salaries.md b/LeetCode SQL 50 Solution/185. Department Top Three Salaries.md similarity index 100% rename from 185. Department Top Three Salaries.md rename to LeetCode SQL 50 Solution/185. Department Top Three Salaries.md diff --git a/185. Department Top Three Salaries.sql b/LeetCode SQL 50 Solution/185. Department Top Three Salaries.sql similarity index 100% rename from 185. Department Top Three Salaries.sql rename to LeetCode SQL 50 Solution/185. Department Top Three Salaries.sql diff --git a/1934. Confirmation Rate.sql b/LeetCode SQL 50 Solution/1934. Confirmation Rate.sql similarity index 100% rename from 1934. Confirmation Rate.sql rename to LeetCode SQL 50 Solution/1934. Confirmation Rate.sql diff --git a/2356. Number of Unique Subjects Taught by Each Teacher.sql b/LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher.sql similarity index 100% rename from 2356. Number of Unique Subjects Taught by Each Teacher.sql rename to LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher.sql diff --git a/550. Game Play Analysis IV.sql b/LeetCode SQL 50 Solution/550. Game Play Analysis IV.sql similarity index 100% rename from 550. Game Play Analysis IV.sql rename to LeetCode SQL 50 Solution/550. Game Play Analysis IV.sql diff --git a/570. Managers with at Least 5 Direct Reports.sql b/LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports.sql similarity index 100% rename from 570. Managers with at Least 5 Direct Reports.sql rename to LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports.sql diff --git a/584. Find Customer Referee.sql b/LeetCode SQL 50 Solution/584. Find Customer Referee.sql similarity index 100% rename from 584. Find Customer Referee.sql rename to LeetCode SQL 50 Solution/584. Find Customer Referee.sql diff --git a/595. Big Countries.sql b/LeetCode SQL 50 Solution/595. Big Countries.sql similarity index 100% rename from 595. Big Countries.sql rename to LeetCode SQL 50 Solution/595. Big Countries.sql diff --git a/596. Classes More Than 5 Students.sql b/LeetCode SQL 50 Solution/596. Classes More Than 5 Students.sql similarity index 100% rename from 596. Classes More Than 5 Students.sql rename to LeetCode SQL 50 Solution/596. Classes More Than 5 Students.sql diff --git a/619. Biggest Single Number.sql b/LeetCode SQL 50 Solution/619. Biggest Single Number.sql similarity index 100% rename from 619. Biggest Single Number.sql rename to LeetCode SQL 50 Solution/619. Biggest Single Number.sql diff --git a/620. Not Boring Movies.sql b/LeetCode SQL 50 Solution/620. Not Boring Movies.sql similarity index 100% rename from 620. Not Boring Movies.sql rename to LeetCode SQL 50 Solution/620. Not Boring Movies.sql diff --git a/prosnal_database.sql b/LeetCode SQL 50 Solution/prosnal_database.sql similarity index 100% rename from prosnal_database.sql rename to LeetCode SQL 50 Solution/prosnal_database.sql From 8ea64ac0b627ff3ae54e63083963431bdc6abb25 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Thu, 20 Mar 2025 22:52:07 +0530 Subject: [PATCH 027/353] today solution sql --- ...mployees Which Report to Each Employee.sql | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee.sql diff --git a/LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee.sql b/LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee.sql new file mode 100644 index 0000000..fabb660 --- /dev/null +++ b/LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee.sql @@ -0,0 +1,88 @@ +1731. The Number of Employees Which Report to Each Employee +Solved +Easy +Topics +Companies +SQL Schema +Pandas Schema +Table: Employees + ++-------------+----------+ +| Column Name | Type | ++-------------+----------+ +| employee_id | int | +| name | varchar | +| reports_to | int | +| age | int | ++-------------+----------+ +employee_id is the column with unique values for this table. +This table contains information about the employees and the id of the manager they report to. Some employees do not report to anyone (reports_to is null). + + +For this problem, we will consider a manager an employee who has at least 1 other employee reporting to them. + +Write a solution to report the ids and the names of all managers, the number of employees who report directly to them, and the average age of the reports rounded to the nearest integer. + +Return the result table ordered by employee_id. + +The result format is in the following example. + + + +Example 1: + +Input: +Employees table: ++-------------+---------+------------+-----+ +| employee_id | name | reports_to | age | ++-------------+---------+------------+-----+ +| 9 | Hercy | null | 43 | +| 6 | Alice | 9 | 41 | +| 4 | Bob | 9 | 36 | +| 2 | Winston | null | 37 | ++-------------+---------+------------+-----+ +Output: ++-------------+-------+---------------+-------------+ +| employee_id | name | reports_count | average_age | ++-------------+-------+---------------+-------------+ +| 9 | Hercy | 2 | 39 | ++-------------+-------+---------------+-------------+ +Explanation: Hercy has 2 people report directly to him, Alice and Bob. Their average age is (41+36)/2 = 38.5, which is 39 after rounding it to the nearest integer. +Example 2: + +Input: +Employees table: ++-------------+---------+------------+-----+ +| employee_id | name | reports_to | age | +|-------------|---------|------------|-----| +| 1 | Michael | null | 45 | +| 2 | Alice | 1 | 38 | +| 3 | Bob | 1 | 42 | +| 4 | Charlie | 2 | 34 | +| 5 | David | 2 | 40 | +| 6 | Eve | 3 | 37 | +| 7 | Frank | null | 50 | +| 8 | Grace | null | 48 | ++-------------+---------+------------+-----+ +Output: ++-------------+---------+---------------+-------------+ +| employee_id | name | reports_count | average_age | +| ----------- | ------- | ------------- | ----------- | +| 1 | Michael | 2 | 40 | +| 2 | Alice | 2 | 37 | +| 3 | Bob | 1 | 37 | ++-------------+---------+---------------+-------------+ + + +# Write your MySQL query statement below + +SELECT + Manager.employee_id, + Manager.name, + COUNT(Employee.employee_id) AS reports_count, + ROUND(AVG(Employee.age)) AS average_age +FROM Employees AS Manager +INNER JOIN Employees AS Employee + ON (Employee.reports_to = Manager.employee_id) +GROUP BY 1 +ORDER BY 1; From 9af7a3e048ae8e527bfd9cec3bc928610a56f00c Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Thu, 20 Mar 2025 22:56:38 +0530 Subject: [PATCH 028/353] Create 1789. Primary Department for Each Employee.sql Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- .... Primary Department for Each Employee.sql | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 LeetCode SQL 50 Solution/1789. Primary Department for Each Employee.sql diff --git a/LeetCode SQL 50 Solution/1789. Primary Department for Each Employee.sql b/LeetCode SQL 50 Solution/1789. Primary Department for Each Employee.sql new file mode 100644 index 0000000..9d88082 --- /dev/null +++ b/LeetCode SQL 50 Solution/1789. Primary Department for Each Employee.sql @@ -0,0 +1,70 @@ +1789. Primary Department for Each Employee + + ++---------------+---------+ +| Column Name | Type | ++---------------+---------+ +| employee_id | int | +| department_id | int | +| primary_flag | varchar | ++---------------+---------+ +(employee_id, department_id) is the primary key (combination of columns with unique values) for this table. +employee_id is the id of the employee. +department_id is the id of the department to which the employee belongs. +primary_flag is an ENUM (category) of type ('Y', 'N'). If the flag is 'Y', the department is the primary department for the employee. If the flag is 'N', the department is not the primary. + + +Employees can belong to multiple departments. When the employee joins other departments, they need to decide which department is their primary department. Note that when an employee belongs to only one department, their primary column is 'N'. + +Write a solution to report all the employees with their primary department. For employees who belong to one department, report their only department. + +Return the result table in any order. + +The result format is in the following example. + + + +Example 1: + +Input: +Employee table: ++-------------+---------------+--------------+ +| employee_id | department_id | primary_flag | ++-------------+---------------+--------------+ +| 1 | 1 | N | +| 2 | 1 | Y | +| 2 | 2 | N | +| 3 | 3 | N | +| 4 | 2 | N | +| 4 | 3 | Y | +| 4 | 4 | N | ++-------------+---------------+--------------+ +Output: ++-------------+---------------+ +| employee_id | department_id | ++-------------+---------------+ +| 1 | 1 | +| 2 | 1 | +| 3 | 3 | +| 4 | 3 | ++-------------+---------------+ +Explanation: +- The Primary department for employee 1 is 1. +- The Primary department for employee 2 is 1. +- The Primary department for employee 3 is 3. +- The Primary department for employee 4 is 3. + + +# Write your MySQL query statement below +SELECT + employee_id, + department_id +FROM Employee +WHERE primary_flag = 'Y' +UNION DISTINCT +SELECT + employee_id, + department_id +FROM Employee +GROUP BY 1 +HAVING COUNT(*) = 1; \ No newline at end of file From 277cb6a266311ecec28af82910d4503bbbbeba0b Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 22 Mar 2025 01:34:26 +0530 Subject: [PATCH 029/353] Create 180. Consecutive Numbers.sql Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- .../180. Consecutive Numbers.sql | 112 ++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 LeetCode SQL 50 Solution/180. Consecutive Numbers.sql diff --git a/LeetCode SQL 50 Solution/180. Consecutive Numbers.sql b/LeetCode SQL 50 Solution/180. Consecutive Numbers.sql new file mode 100644 index 0000000..04a0b6c --- /dev/null +++ b/LeetCode SQL 50 Solution/180. Consecutive Numbers.sql @@ -0,0 +1,112 @@ +180. Consecutive Numbers +""" +# Write your MySQL query statement below ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| id | int | +| num | varchar | ++-------------+---------+ +In SQL, id is the primary key for this table. +id is an autoincrement column starting from 1. + + +Find all numbers that appear at least three times consecutively. + +Return the result table in any order. + +The result format is in the following example. + + + +Example 1: + +Input: +Logs table: ++----+-----+ +| id | num | ++----+-----+ +| 1 | 1 | +| 2 | 1 | +| 3 | 1 | +| 4 | 2 | +| 5 | 1 | +| 6 | 2 | +| 7 | 2 | ++----+-----+ +Output: ++-----------------+ +| ConsecutiveNums | ++-----------------+ +| 1 | ++-----------------+ + +""" +Explanation: 1 is the only number that appears consecutively for at least three times. + +# Write your MySQL query statement below +with consecutive_runs as ( + select id, num, lead(num, 1) over (order by id) as lead_num, lag(num, 1) over (order by id) as lag_num + from Logs +) +select distinct num as ConsecutiveNums +from consecutive_runs +where num = lead_num and num = lag_num + +""" +Explanation + Common Table Expression (CTE): consecutive_runs +sql +Copy +Edit +with consecutive_runs as ( + select + id, + num, + lead(num, 1) over (order by id) as lead_num, + lag(num, 1) over (order by id) as lag_num + from Logs +) +Purpose of the CTE: +This part creates a temporary result set named consecutive_runs that enriches each row from the Logs table with two extra columns: + +lead_num: The value of the num column in the next row (based on the id order). +lag_num: The value of the num column in the previous row (based on the id order). +Window Functions: + +lead(num, 1) over (order by id): +This function returns the value of num from the row immediately following the current one when sorted by id. +lag(num, 1) over (order by id): +This function returns the value of num from the row immediately preceding the current one when sorted by id. +This setup allows us to compare each row with its immediate neighbors. + +2. Final SELECT Query +sql +Copy +Edit +select distinct num as ConsecutiveNums +from consecutive_runs +where num = lead_num and num = lag_num +Filtering Condition: +The WHERE clause checks if the current row's num value is equal to both its next (lead_num) and previous (lag_num) values: + +num = lead_num +num = lag_num +This ensures that the number appears consecutively (at least three times in a row). + +DISTINCT Keyword: +The distinct keyword makes sure that each number is listed only once in the final output, even if it occurs in multiple consecutive sequences. + +Result Column Alias: +The output column is renamed to ConsecutiveNums for clarity. + +Summary +CTE Usage: +The query first computes additional columns using window functions (lead and lag) to look at neighboring rows. + +Consecutive Check: +It then filters out rows where the current value is the same as both the previous and next value, meaning there are at least three consecutive occurrences of that number. + +Final Output: +The final result is a list of distinct numbers that appear consecutively in the Logs table. +""" \ No newline at end of file From 85ee08b9a621e60df60b2c009a1c9f69059209b7 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 22 Mar 2025 02:03:09 +0530 Subject: [PATCH 030/353] 1164. Product Price at a Given Date Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- .../1164. Product Price at a Given Date.sql | 46 +++++++++++++++++++ .../180. Consecutive Numbers.sql | 2 +- 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 LeetCode SQL 50 Solution/1164. Product Price at a Given Date.sql diff --git a/LeetCode SQL 50 Solution/1164. Product Price at a Given Date.sql b/LeetCode SQL 50 Solution/1164. Product Price at a Given Date.sql new file mode 100644 index 0000000..6fa8bd6 --- /dev/null +++ b/LeetCode SQL 50 Solution/1164. Product Price at a Given Date.sql @@ -0,0 +1,46 @@ + +1164. Product Price at a Given Date + +Table: Products + ++---------------+---------+ +| Column Name | Type | ++---------------+---------+ +| product_id | int | +| new_price | int | +| change_date | date | ++---------------+---------+ +(product_id, change_date) is the primary key (combination of columns with unique values) of this table. +Each row of this table indicates that the price of some product was changed to a new price at some date. + + +Write a solution to find the prices of all products on 2019-08-16. Assume the price of all products before any change is 10. + +Return the result table in any order. + +The result format is in the following example. + + + +Example 1: + +Input: +Products table: ++------------+-----------+-------------+ +| product_id | new_price | change_date | ++------------+-----------+-------------+ +| 1 | 20 | 2019-08-14 | +| 2 | 50 | 2019-08-14 | +| 1 | 30 | 2019-08-15 | +| 1 | 35 | 2019-08-16 | +| 2 | 65 | 2019-08-17 | +| 3 | 20 | 2019-08-18 | ++------------+-----------+-------------+ +Output: ++------------+-------+ +| product_id | price | ++------------+-------+ +| 2 | 50 | +| 1 | 35 | +| 3 | 10 | ++------------+-------+ \ No newline at end of file diff --git a/LeetCode SQL 50 Solution/180. Consecutive Numbers.sql b/LeetCode SQL 50 Solution/180. Consecutive Numbers.sql index 04a0b6c..2ef1d2c 100644 --- a/LeetCode SQL 50 Solution/180. Consecutive Numbers.sql +++ b/LeetCode SQL 50 Solution/180. Consecutive Numbers.sql @@ -109,4 +109,4 @@ It then filters out rows where the current value is the same as both the previou Final Output: The final result is a list of distinct numbers that appear consecutively in the Logs table. -""" \ No newline at end of file +""" From d5abc631b27eb46c1548a16e8253b413bf860b1e Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 22 Mar 2025 02:03:30 +0530 Subject: [PATCH 031/353] Update 180. Consecutive Numbers.sql Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- .../180. Consecutive Numbers.sql | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/LeetCode SQL 50 Solution/180. Consecutive Numbers.sql b/LeetCode SQL 50 Solution/180. Consecutive Numbers.sql index 2ef1d2c..3a3943a 100644 --- a/LeetCode SQL 50 Solution/180. Consecutive Numbers.sql +++ b/LeetCode SQL 50 Solution/180. Consecutive Numbers.sql @@ -110,3 +110,24 @@ It then filters out rows where the current value is the same as both the previou Final Output: The final result is a list of distinct numbers that appear consecutively in the Logs table. """ + + +# Write your MySQL query statement below +# Write your MySQL query statement below +WITH + T AS (SELECT DISTINCT product_id FROM Products), + P AS ( + SELECT product_id, new_price AS price + FROM Products + WHERE + (product_id, change_date) IN ( + SELECT product_id, MAX(change_date) AS change_date + FROM Products + WHERE change_date <= '2019-08-16' + GROUP BY 1 + ) + ) +SELECT product_id, IFNULL(price, 10) AS price +FROM + T + LEFT JOIN P USING (product_id); From c6830720a87276cbcf156c0f1b0223251e4a0353 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 22 Mar 2025 02:24:38 +0530 Subject: [PATCH 032/353] create file --- LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.sql diff --git a/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.sql b/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.sql new file mode 100644 index 0000000..e69de29 From a304fd1a4f3d27880f9021895b86ef4a537cbcd4 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 22 Mar 2025 02:25:05 +0530 Subject: [PATCH 033/353] Update 1204. Last Person to Fit in the Bus.sql Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- .../1204. Last Person to Fit in the Bus.sql | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.sql b/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.sql index e69de29..47f400c 100644 --- a/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.sql +++ b/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.sql @@ -0,0 +1,60 @@ +1204. Last Person to Fit in the Bus + +Table: Queue + ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| person_id | int | +| person_name | varchar | +| weight | int | +| turn | int | ++-------------+---------+ +person_id column contains unique values. +This table has the information about all people waiting for a bus. +The person_id and turn columns will contain all numbers from 1 to n, where n is the number of rows in the table. +turn determines the order of which the people will board the bus, where turn=1 denotes the first person to board and turn=n denotes the last person to board. +weight is the weight of the person in kilograms. + + +There is a queue of people waiting to board a bus. However, the bus has a weight limit of 1000 kilograms, so there may be some people who cannot board. + +Write a solution to find the person_name of the last person that can fit on the bus without exceeding the weight limit. The test cases are generated such that the first person does not exceed the weight limit. + +Note that only one person can board the bus at any given turn. + +The result format is in the following example. + + + +Example 1: + +Input: +Queue table: ++-----------+-------------+--------+------+ +| person_id | person_name | weight | turn | ++-----------+-------------+--------+------+ +| 5 | Alice | 250 | 1 | +| 4 | Bob | 175 | 5 | +| 3 | Alex | 350 | 2 | +| 6 | John Cena | 400 | 3 | +| 1 | Winston | 500 | 6 | +| 2 | Marie | 200 | 4 | ++-----------+-------------+--------+------+ +Output: ++-------------+ +| person_name | ++-------------+ +| John Cena | ++-------------+ +Explanation: The folowing table is ordered by the turn for simplicity. ++------+----+-----------+--------+--------------+ +| Turn | ID | Name | Weight | Total Weight | ++------+----+-----------+--------+--------------+ +| 1 | 5 | Alice | 250 | 250 | +| 2 | 3 | Alex | 350 | 600 | +| 3 | 6 | John Cena | 400 | 1000 | (last person to board) +| 4 | 2 | Marie | 200 | 1200 | (cannot board) +| 5 | 4 | Bob | 175 | ___ | +| 6 | 1 | Winston | 500 | ___ | ++------+----+-----------+--------+--------------+ \ No newline at end of file From 51cfc2fc1f683790b39b56fca4a2b7bd2af2decf Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 22 Mar 2025 02:26:13 +0530 Subject: [PATCH 034/353] Update 1204. Last Person to Fit in the Bus.sql Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- .../1204. Last Person to Fit in the Bus.sql | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.sql b/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.sql index 47f400c..9b7eaef 100644 --- a/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.sql +++ b/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.sql @@ -57,4 +57,19 @@ Explanation: The folowing table is ordered by the turn for simplicity. | 4 | 2 | Marie | 200 | 1200 | (cannot board) | 5 | 4 | Bob | 175 | ___ | | 6 | 1 | Winston | 500 | ___ | -+------+----+-----------+--------+--------------+ \ No newline at end of file ++------+----+-----------+--------+--------------+ + + + +# Write your MySQL query statement below +SELECT a.person_name +FROM + Queue AS a, + Queue AS b +WHERE a.turn >= b.turn +GROUP BY a.person_id +HAVING SUM(b.weight) <= 1000 +ORDER BY a.turn DESC +LIMIT 1; + + From 8ca3a97830bd32574abf3fa08aba9b7d9977fe10 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 22 Mar 2025 02:27:24 +0530 Subject: [PATCH 035/353] Update 1204. Last Person to Fit in the Bus.sql Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- .../1204. Last Person to Fit in the Bus.sql | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.sql b/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.sql index 9b7eaef..7fe1a3c 100644 --- a/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.sql +++ b/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.sql @@ -73,3 +73,76 @@ ORDER BY a.turn DESC LIMIT 1; +Let's break down the query step by step to understand what it does: + +--- + +### 1. Self-Join of the Table + +```sql +FROM + Queue AS a, + Queue AS b +WHERE a.turn >= b.turn +``` + +- **Self-Join:** + The query treats the `Queue` table as two separate aliases: `a` and `b`. This is a self-join, meaning each row in `a` is paired with rows in `b`. + +- **Join Condition (`a.turn >= b.turn`):** + For each row in alias `a`, the query pairs it with every row in alias `b` that has a `turn` value less than or equal to `a.turn`. + - **Purpose:** This setup is used to accumulate data from the start of the queue up to the current person's turn. + +--- + +### 2. Grouping by Person + +```sql +GROUP BY a.person_id +``` + +- **Grouping:** + The query groups the resulting joined rows by `a.person_id`. + - **Effect:** For each person in the queue (represented by alias `a`), all rows (from `b`) where `b.turn` is less than or equal to `a.turn` are aggregated together. + +--- + +### 3. Calculating the Cumulative Weight + +```sql +HAVING SUM(b.weight) <= 1000 +``` + +- **Cumulative Sum:** + Within each group, the query calculates the sum of `b.weight`. + - **Condition:** The `HAVING` clause filters out groups where the cumulative weight (i.e., the sum of weights from the start of the queue up to the current person's turn) exceeds 1000. + - **Interpretation:** Only those persons for whom the cumulative weight of all people before and including them is **less than or equal to 1000** are kept. + +--- + +### 4. Selecting the Result + +```sql +SELECT a.person_name +``` + +- **Result Column:** + After filtering, the query selects the `person_name` from alias `a` for each group that passed the `HAVING` condition. + +--- + +### 5. Ordering and Limiting the Result + +```sql +ORDER BY a.turn DESC +LIMIT 1; +``` + +- **Ordering:** + The results are ordered by `a.turn` in descending order. + - **Purpose:** This ensures that among all persons whose cumulative weight is ≤ 1000, the one with the **latest (highest) turn** is at the top. + +- **Limiting:** + The `LIMIT 1` clause restricts the output to only the top result, effectively returning **one person**. + +--- From 79aeb8fab2eb2a08c1296e28b171529b8e4b9f4f Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 22 Mar 2025 02:34:37 +0530 Subject: [PATCH 036/353] Create 1907. Count Salary Categories.sql Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- LeetCode SQL 50 Solution/1907. Count Salary Categories.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1907. Count Salary Categories.sql diff --git a/LeetCode SQL 50 Solution/1907. Count Salary Categories.sql b/LeetCode SQL 50 Solution/1907. Count Salary Categories.sql new file mode 100644 index 0000000..e69de29 From c26af549ef8eb2f7705e88cf3a5046fffd7b3728 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 22 Mar 2025 02:35:27 +0530 Subject: [PATCH 037/353] Update 1907. Count Salary Categories.sql Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- .../1907. Count Salary Categories.sql | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/LeetCode SQL 50 Solution/1907. Count Salary Categories.sql b/LeetCode SQL 50 Solution/1907. Count Salary Categories.sql index e69de29..f3923cf 100644 --- a/LeetCode SQL 50 Solution/1907. Count Salary Categories.sql +++ b/LeetCode SQL 50 Solution/1907. Count Salary Categories.sql @@ -0,0 +1,83 @@ +907. Count Salary Categories +Solved +Medium +Topics +Companies +SQL Schema +Pandas Schema +Table: Accounts + ++-------------+------+ +| Column Name | Type | ++-------------+------+ +| account_id | int | +| income | int | ++-------------+------+ +account_id is the primary key (column with unique values) for this table. +Each row contains information about the monthly income for one bank account. + + +Write a solution to calculate the number of bank accounts for each salary category. The salary categories are: + +"Low Salary": All the salaries strictly less than $20000. +"Average Salary": All the salaries in the inclusive range [$20000, $50000]. +"High Salary": All the salaries strictly greater than $50000. +The result table must contain all three categories. If there are no accounts in a category, return 0. + +Return the result table in any order. + +The result format is in the following example. + + + +Example 1: + +Input: +Accounts table: ++------------+--------+ +| account_id | income | ++------------+--------+ +| 3 | 108939 | +| 2 | 12747 | +| 8 | 87709 | +| 6 | 91796 | ++------------+--------+ +Output: ++----------------+----------------+ +| category | accounts_count | ++----------------+----------------+ +| Low Salary | 1 | +| Average Salary | 0 | +| High Salary | 3 | ++----------------+----------------+ +Explanation: +Low Salary: Account 2. +Average Salary: No accounts. +High Salary: Accounts 3, 6, and 8. + + +# Write your MySQL query statement below +WITH + S AS ( + SELECT 'Low Salary' AS category + UNION + SELECT 'Average Salary' + UNION + SELECT 'High Salary' + ), + T AS ( + SELECT + CASE + WHEN income < 20000 THEN "Low Salary" + WHEN income > 50000 THEN 'High Salary' + ELSE 'Average Salary' + END AS category, + COUNT(1) AS accounts_count + FROM Accounts + GROUP BY 1 + ) +SELECT category, IFNULL(accounts_count, 0) AS accounts_count +FROM + S + LEFT JOIN T USING (category); + From 494a96840ef3722044c087f5586f029bde5e197e Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 22 Mar 2025 02:37:18 +0530 Subject: [PATCH 038/353] Update 1907. Count Salary Categories.sql Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- .../1907. Count Salary Categories.sql | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/LeetCode SQL 50 Solution/1907. Count Salary Categories.sql b/LeetCode SQL 50 Solution/1907. Count Salary Categories.sql index f3923cf..65786e1 100644 --- a/LeetCode SQL 50 Solution/1907. Count Salary Categories.sql +++ b/LeetCode SQL 50 Solution/1907. Count Salary Categories.sql @@ -81,3 +81,90 @@ FROM S LEFT JOIN T USING (category); + + +### 1. Common Table Expression (CTE) "S" + + +WITH + S AS ( + SELECT 'Low Salary' AS category + UNION + SELECT 'Average Salary' + UNION + SELECT 'High Salary' + ), + + +- **Purpose:** + This CTE defines a static list of salary categories. +- **How it works:** + - The `SELECT` statements with `UNION` combine three rows, each containing one of the categories: `'Low Salary'`, `'Average Salary'`, and `'High Salary'`. +- **Result:** + The result of `S` is a temporary table with one column (`category`) and three rows. + +--- + +### 2. Common Table Expression (CTE) "T" + +```sql + T AS ( + SELECT + CASE + WHEN income < 20000 THEN "Low Salary" + WHEN income > 50000 THEN 'High Salary' + ELSE 'Average Salary' + END AS category, + COUNT(1) AS accounts_count + FROM Accounts + GROUP BY 1 + ) +``` + +- **Purpose:** + This CTE categorizes each account from the `Accounts` table based on the `income` value, then counts the number of accounts in each category. +- **How it works:** + - **CASE Statement:** + - If `income` is less than 20000, it labels the row as `"Low Salary"`. + - If `income` is greater than 50000, it labels the row as `"High Salary"`. + - Otherwise, it labels the row as `"Average Salary"`. + - **COUNT(1):** + - It counts the number of rows (accounts) in each category. + - **GROUP BY 1:** + - It groups the results by the first column in the SELECT list, which is the computed `category`. +- **Result:** + The result of `T` is a temporary table that contains two columns: `category` and `accounts_count`. It holds the count of accounts for each salary category that exists in the `Accounts` table. + +--- + +### 3. Final SELECT with LEFT JOIN + +```sql +SELECT category, IFNULL(accounts_count, 0) AS accounts_count +FROM + S + LEFT JOIN T USING (category); +``` + +- **Purpose:** + This part combines the two CTEs (`S` and `T`) to ensure that every salary category from `S` is included in the final result, even if there are no corresponding accounts in `T`. +- **How it works:** + - **LEFT JOIN:** + - It joins `S` (all predefined categories) with `T` (the computed counts) on the `category` column. + - If a category from `S` does not exist in `T` (i.e., there were no accounts that fell into that category), the join will produce a `NULL` value for `accounts_count`. + - **IFNULL(accounts_count, 0):** + - This function replaces any `NULL` in `accounts_count` with `0`, ensuring that the final output shows 0 for categories with no accounts. +- **Result:** + The final output is a list of salary categories along with the corresponding count of accounts. If a category has no accounts, it will show as 0. + +--- + +### Summary + +- **CTE "S":** Defines a static list of salary categories. +- **CTE "T":** Categorizes and counts accounts from the `Accounts` table based on income. +- **LEFT JOIN:** Combines both CTEs so every predefined category appears in the final result, with missing counts defaulting to 0. +- **Final Output:** + A table with two columns: + - `category`: The salary category (Low Salary, Average Salary, High Salary). + - `accounts_count`: The number of accounts in that category (or 0 if there are none). From 3b1d770946e4eb1b69c520f05e7163faa7858b1f Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 22 Mar 2025 02:45:09 +0530 Subject: [PATCH 039/353] Create 1978. Employees Whose Manager Left the Company.sql Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- ...ployees Whose Manager Left the Company.sql | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company.sql diff --git a/LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company.sql b/LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company.sql new file mode 100644 index 0000000..f2d91a8 --- /dev/null +++ b/LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company.sql @@ -0,0 +1,65 @@ +1978. Employees Whose Manager Left the Company +Solved +Easy +Topics +Companies +SQL Schema +Pandas Schema +Table: Employees + ++-------------+----------+ +| Column Name | Type | ++-------------+----------+ +| employee_id | int | +| name | varchar | +| manager_id | int | +| salary | int | ++-------------+----------+ +In SQL, employee_id is the primary key for this table. +This table contains information about the employees, their salary, and the ID of their manager. Some employees do not have a manager (manager_id is null). + + +Find the IDs of the employees whose salary is strictly less than $30000 and whose manager left the company. When a manager leaves the company, their information is deleted from the Employees table, but the reports still have their manager_id set to the manager that left. + +Return the result table ordered by employee_id. + +The result format is in the following example. + + + +Example 1: + +Input: +Employees table: ++-------------+-----------+------------+--------+ +| employee_id | name | manager_id | salary | ++-------------+-----------+------------+--------+ +| 3 | Mila | 9 | 60301 | +| 12 | Antonella | null | 31000 | +| 13 | Emery | null | 67084 | +| 1 | Kalel | 11 | 21241 | +| 9 | Mikaela | null | 50937 | +| 11 | Joziah | 6 | 28485 | ++-------------+-----------+------------+--------+ +Output: ++-------------+ +| employee_id | ++-------------+ +| 11 | ++-------------+ + +Explanation: +The employees with a salary less than $30000 are 1 (Kalel) and 11 (Joziah). +Kalel's manager is employee 11, who is still in the company (Joziah). +Joziah's manager is employee 6, who left the company because there is no row for employee 6 as it was deleted. + + + +# Write your MySQL query statement below +SELECT e1.employee_id +FROM + Employees AS e1 + LEFT JOIN Employees AS e2 ON e1.manager_id = e2.employee_id +WHERE e1.salary < 30000 AND e1.manager_id IS NOT NULL AND e2.employee_id IS NULL +ORDER BY 1; + From f727c07b2df135b6cab7e08bfaef521fb269cdad Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 22 Mar 2025 02:46:41 +0530 Subject: [PATCH 040/353] Update 1978. Employees Whose Manager Left the Company.sql Co-Authored-By: Antim-IWP <203163676+Antim-IWP@users.noreply.github.com> --- ...ployees Whose Manager Left the Company.sql | 117 ++++++++++++++++++ 1 file changed, 117 insertions(+) diff --git a/LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company.sql b/LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company.sql index f2d91a8..b0014c3 100644 --- a/LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company.sql +++ b/LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company.sql @@ -63,3 +63,120 @@ FROM WHERE e1.salary < 30000 AND e1.manager_id IS NOT NULL AND e2.employee_id IS NULL ORDER BY 1; + + + + +Sure! Let's break down the given MySQL query step by step, explain each part, and analyze its purpose. + +--- + +## **Understanding the Problem Statement** +We want to find **employees** whose: +1. **Salary is less than 30,000.** +2. **Have a manager (i.e., `manager_id IS NOT NULL`).** +3. **Their manager does not exist in the `Employees` table.** (i.e., the `manager_id` they refer to does not match any existing `employee_id`). + +--- + +## **Database Schema** +Assume we have a table called `Employees` with the following structure: + +| employee_id | name | salary | manager_id | +|------------|--------|--------|------------| +| 1 | Alice | 50000 | NULL | +| 2 | Bob | 20000 | 1 | +| 3 | Charlie| 25000 | 4 | +| 4 | David | 60000 | NULL | +| 5 | Emma | 27000 | 10 | + +- **`employee_id`**: Unique ID for each employee. +- **`name`**: Employee’s name. +- **`salary`**: Salary of the employee. +- **`manager_id`**: The `employee_id` of their manager. `NULL` means the employee has no manager. + +--- + +## **Step-by-Step Explanation of the Query** +```sql +SELECT e1.employee_id +``` +- We are selecting the `employee_id` of employees who satisfy the given conditions. + +```sql +FROM Employees AS e1 +``` +- We define the alias `e1` for the `Employees` table to refer to employees. + +```sql +LEFT JOIN Employees AS e2 ON e1.manager_id = e2.employee_id +``` +- We perform a **LEFT JOIN** to check if the `manager_id` of `e1` exists in the `employee_id` column of another instance of `Employees` (aliased as `e2`). +- If there is **no match**, it means the manager does not exist in the table. + +```sql +WHERE e1.salary < 30000 +``` +- We **filter employees** whose salary is **less than 30,000**. + +```sql +AND e1.manager_id IS NOT NULL +``` +- Ensures that the employee **has a manager** (`manager_id` should not be `NULL`). + +```sql +AND e2.employee_id IS NULL +``` +- This is the key condition! +- Since we did a **LEFT JOIN**, `e2.employee_id` will be `NULL` if the manager **does not exist** in the `Employees` table. + +```sql +ORDER BY 1; +``` +- Orders the result by `employee_id` in ascending order. + +--- + +## **Example Execution** +Using the above `Employees` table, let's analyze the output: + +| employee_id | name | salary | manager_id | +|------------|--------|--------|------------| +| 1 | Alice | 50000 | NULL | +| 2 | Bob | 20000 | 1 | +| 3 | Charlie| 25000 | 4 | +| 4 | David | 60000 | NULL | +| 5 | Emma | 27000 | 10 | + +### **Step 1: LEFT JOIN** +We join the table on `manager_id = employee_id`: + +| e1.employee_id | e1.salary | e1.manager_id | e2.employee_id | +|---------------|----------|--------------|---------------| +| 2 | 20000 | 1 | 1 | +| 3 | 25000 | 4 | 4 | +| 5 | 27000 | 10 | NULL | + +### **Step 2: Apply WHERE Conditions** +- `e1.salary < 30000`: Only `Bob`, `Charlie`, and `Emma` qualify. +- `e1.manager_id IS NOT NULL`: No issue. +- `e2.employee_id IS NULL`: Only **Emma (employee_id = 5) qualifies** because `manager_id = 10`, and there is no `employee_id = 10`. + +### **Final Output** +| employee_id | +|------------| +| 5 | + +So, the result is: +``` +5 +``` +--- +## **Summary** +### **Key Takeaways:** +✔ We use **LEFT JOIN** to check if the manager exists. +✔ We filter employees whose **salary is below 30,000**. +✔ We ensure the manager **does not exist** in the database (`e2.employee_id IS NULL`). +✔ The query returns a **list of employees** who meet these conditions. + +Would you like me to explain anything further or modify the query for additional scenarios? 😊 \ No newline at end of file From a87e7a3a8f335de0b8edbd60e88633ac1b5b7795 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 22:44:30 +0530 Subject: [PATCH 041/353] Create 1517. Find Users With Valid E-Mails.SQL --- LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails.SQL | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails.SQL diff --git a/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails.SQL b/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails.SQL new file mode 100644 index 0000000..e69de29 From cb58a318bee5fbb0fbd386f3e87eb2f099c09393 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 22:44:46 +0530 Subject: [PATCH 042/353] Update 1517. Find Users With Valid E-Mails.SQL --- .../1517. Find Users With Valid E-Mails.SQL | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails.SQL b/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails.SQL index e69de29..db4f01f 100644 --- a/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails.SQL +++ b/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails.SQL @@ -0,0 +1,62 @@ +1517. Find Users With Valid E-Mails +Solved +Easy +Topics +Companies +SQL Schema +Pandas Schema +Table: Users + ++---------------+---------+ +| Column Name | Type | ++---------------+---------+ +| user_id | int | +| name | varchar | +| mail | varchar | ++---------------+---------+ +user_id is the primary key (column with unique values) for this table. +This table contains information of the users signed up in a website. Some e-mails are invalid. + + +Write a solution to find the users who have valid emails. + +A valid e-mail has a prefix name and a domain where: + +The prefix name is a string that may contain letters (upper or lower case), digits, underscore '_', period '.', and/or dash '-'. The prefix name must start with a letter. +The domain is '@leetcode.com'. +Return the result table in any order. + +The result format is in the following example. + + + +Example 1: + +Input: +Users table: ++---------+-----------+-------------------------+ +| user_id | name | mail | ++---------+-----------+-------------------------+ +| 1 | Winston | winston@leetcode.com | +| 2 | Jonathan | jonathanisgreat | +| 3 | Annabelle | bella-@leetcode.com | +| 4 | Sally | sally.come@leetcode.com | +| 5 | Marwan | quarz#2020@leetcode.com | +| 6 | David | david69@gmail.com | +| 7 | Shapiro | .shapo@leetcode.com | ++---------+-----------+-------------------------+ +Output: ++---------+-----------+-------------------------+ +| user_id | name | mail | ++---------+-----------+-------------------------+ +| 1 | Winston | winston@leetcode.com | +| 3 | Annabelle | bella-@leetcode.com | +| 4 | Sally | sally.come@leetcode.com | ++---------+-----------+-------------------------+ +Explanation: +The mail of user 2 does not have a domain. +The mail of user 5 has the # sign which is not allowed. +The mail of user 6 does not have the leetcode domain. +The mail of user 7 starts with a period. + + From c312f35adb58f133ef1e0f8c92b478b632de83d1 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 22:45:35 +0530 Subject: [PATCH 043/353] Update 1517. Find Users With Valid E-Mails.SQL --- .../1517. Find Users With Valid E-Mails.SQL | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails.SQL b/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails.SQL index db4f01f..07831f5 100644 --- a/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails.SQL +++ b/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails.SQL @@ -59,4 +59,8 @@ The mail of user 5 has the # sign which is not allowed. The mail of user 6 does not have the leetcode domain. The mail of user 7 starts with a period. +SPLUTIONS: +SELECT * +FROM Users +WHERE REGEXP_LIKE(mail, '^[A-Za-z]+[A-Za-z0-9\_\.\-]*@leetcode\\.com$'); From 51351b985737544f442865287080795c45e8b447 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 22:46:51 +0530 Subject: [PATCH 044/353] Create 1327. List the Products Ordered in a Period.SQL --- ... List the Products Ordered in a Period.SQL | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period.SQL diff --git a/LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period.SQL b/LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period.SQL new file mode 100644 index 0000000..a3f9c1d --- /dev/null +++ b/LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period.SQL @@ -0,0 +1,85 @@ +1327. List the Products Ordered in a Period +Solved +Easy +Topics +Companies +SQL Schema +Pandas Schema +Table: Products + ++------------------+---------+ +| Column Name | Type | ++------------------+---------+ +| product_id | int | +| product_name | varchar | +| product_category | varchar | ++------------------+---------+ +product_id is the primary key (column with unique values) for this table. +This table contains data about the company's products. + + +Table: Orders + ++---------------+---------+ +| Column Name | Type | ++---------------+---------+ +| product_id | int | +| order_date | date | +| unit | int | ++---------------+---------+ +This table may have duplicate rows. +product_id is a foreign key (reference column) to the Products table. +unit is the number of products ordered in order_date. + + +Write a solution to get the names of products that have at least 100 units ordered in February 2020 and their amount. + +Return the result table in any order. + +The result format is in the following example. + + + +Example 1: + +Input: +Products table: ++-------------+-----------------------+------------------+ +| product_id | product_name | product_category | ++-------------+-----------------------+------------------+ +| 1 | Leetcode Solutions | Book | +| 2 | Jewels of Stringology | Book | +| 3 | HP | Laptop | +| 4 | Lenovo | Laptop | +| 5 | Leetcode Kit | T-shirt | ++-------------+-----------------------+------------------+ +Orders table: ++--------------+--------------+----------+ +| product_id | order_date | unit | ++--------------+--------------+----------+ +| 1 | 2020-02-05 | 60 | +| 1 | 2020-02-10 | 70 | +| 2 | 2020-01-18 | 30 | +| 2 | 2020-02-11 | 80 | +| 3 | 2020-02-17 | 2 | +| 3 | 2020-02-24 | 3 | +| 4 | 2020-03-01 | 20 | +| 4 | 2020-03-04 | 30 | +| 4 | 2020-03-04 | 60 | +| 5 | 2020-02-25 | 50 | +| 5 | 2020-02-27 | 50 | +| 5 | 2020-03-01 | 50 | ++--------------+--------------+----------+ +Output: ++--------------------+---------+ +| product_name | unit | ++--------------------+---------+ +| Leetcode Solutions | 130 | +| Leetcode Kit | 100 | ++--------------------+---------+ +Explanation: +Products with product_id = 1 is ordered in February a total of (60 + 70) = 130. +Products with product_id = 2 is ordered in February a total of 80. +Products with product_id = 3 is ordered in February a total of (2 + 3) = 5. +Products with product_id = 4 was not ordered in February 2020. +Products with product_id = 5 is ordered in February a total of (50 + 50) = 100. \ No newline at end of file From ea594c7f883c34da521f111e0a8ca4dfdfd69634 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 22:47:22 +0530 Subject: [PATCH 045/353] Update 1327. List the Products Ordered in a Period.SQL --- .../1327. List the Products Ordered in a Period.SQL | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period.SQL b/LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period.SQL index a3f9c1d..68c34dc 100644 --- a/LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period.SQL +++ b/LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period.SQL @@ -82,4 +82,14 @@ Products with product_id = 1 is ordered in February a total of (60 + 70) = 130. Products with product_id = 2 is ordered in February a total of 80. Products with product_id = 3 is ordered in February a total of (2 + 3) = 5. Products with product_id = 4 was not ordered in February 2020. -Products with product_id = 5 is ordered in February a total of (50 + 50) = 100. \ No newline at end of file +Products with product_id = 5 is ordered in February a total of (50 + 50) = 100. +''' + +# Write your MySQL query statement below +SELECT P.PRODUCT_NAME, SUM(O.UNIT) AS UNIT +FROM PRODUCTS P +INNER JOIN ORDERS O +ON P.PRODUCT_ID = O.PRODUCT_ID +WHERE O.ORDER_DATE BETWEEN '2020-02-01' AND '2020-02-29' +GROUP BY P.PRODUCT_NAME +HAVING SUM(O.UNIT) >= 100; \ No newline at end of file From 1d942a5d7ef5ff80ddb963cf6e853311096172bd Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 22:49:22 +0530 Subject: [PATCH 046/353] Create 1484. Group Sold Products By The Date.SQL --- .../1484. Group Sold Products By The Date.SQL | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1484. Group Sold Products By The Date.SQL diff --git a/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date.SQL b/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date.SQL new file mode 100644 index 0000000..e69de29 From 30cd2140526112de087159c1d0a038054312ee3c Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 22:49:30 +0530 Subject: [PATCH 047/353] Update 1484. Group Sold Products By The Date.SQL --- .../1484. Group Sold Products By The Date.SQL | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date.SQL b/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date.SQL index e69de29..ccf0ab1 100644 --- a/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date.SQL +++ b/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date.SQL @@ -0,0 +1,56 @@ +1484. Group Sold Products By The Date +Solved +Easy +Topics +Companies +SQL Schema +Pandas Schema +Table Activities: + ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| sell_date | date | +| product | varchar | ++-------------+---------+ +There is no primary key (column with unique values) for this table. It may contain duplicates. +Each row of this table contains the product name and the date it was sold in a market. + + +Write a solution to find for each date the number of different products sold and their names. + +The sold products names for each date should be sorted lexicographically. + +Return the result table ordered by sell_date. + +The result format is in the following example. + + + +Example 1: + +Input: +Activities table: ++------------+------------+ +| sell_date | product | ++------------+------------+ +| 2020-05-30 | Headphone | +| 2020-06-01 | Pencil | +| 2020-06-02 | Mask | +| 2020-05-30 | Basketball | +| 2020-06-01 | Bible | +| 2020-06-02 | Mask | +| 2020-05-30 | T-Shirt | ++------------+------------+ +Output: ++------------+----------+------------------------------+ +| sell_date | num_sold | products | ++------------+----------+------------------------------+ +| 2020-05-30 | 3 | Basketball,Headphone,T-shirt | +| 2020-06-01 | 2 | Bible,Pencil | +| 2020-06-02 | 1 | Mask | ++------------+----------+------------------------------+ +Explanation: +For 2020-05-30, Sold items were (Headphone, Basketball, T-shirt), we sort them lexicographically and separate them by a comma. +For 2020-06-01, Sold items were (Pencil, Bible), we sort them lexicographically and separate them by a comma. +For 2020-06-02, the Sold item is (Mask), we just return it. \ No newline at end of file From 93720734f89c8c71c3c2ea754cdea2a7e0877038 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 22:49:52 +0530 Subject: [PATCH 048/353] Update 1484. Group Sold Products By The Date.SQL --- .../1484. Group Sold Products By The Date.SQL | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date.SQL b/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date.SQL index ccf0ab1..b89bee9 100644 --- a/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date.SQL +++ b/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date.SQL @@ -53,4 +53,12 @@ Output: Explanation: For 2020-05-30, Sold items were (Headphone, Basketball, T-shirt), we sort them lexicographically and separate them by a comma. For 2020-06-01, Sold items were (Pencil, Bible), we sort them lexicographically and separate them by a comma. -For 2020-06-02, the Sold item is (Mask), we just return it. \ No newline at end of file +For 2020-06-02, the Sold item is (Mask), we just return it. + + + +select sell_date, count( DISTINCT product ) as num_sold , + + GROUP_CONCAT( DISTINCT product order by product ASC separator ',' ) as products + + FROM Activities GROUP BY sell_date order by sell_date ASC; \ No newline at end of file From 7a369b6098e4142c90ecf267e6083c3829fe1acc Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 22:51:01 +0530 Subject: [PATCH 049/353] Create 176. Second Highest Salary.SQL --- LeetCode SQL 50 Solution/176. Second Highest Salary.SQL | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/176. Second Highest Salary.SQL diff --git a/LeetCode SQL 50 Solution/176. Second Highest Salary.SQL b/LeetCode SQL 50 Solution/176. Second Highest Salary.SQL new file mode 100644 index 0000000..e69de29 From 274504d9a3dfa0ef3a44098cf6fbd82333c8c854 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 22:51:32 +0530 Subject: [PATCH 050/353] Update 176. Second Highest Salary.SQL --- .../176. Second Highest Salary.SQL | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/LeetCode SQL 50 Solution/176. Second Highest Salary.SQL b/LeetCode SQL 50 Solution/176. Second Highest Salary.SQL index e69de29..1698a45 100644 --- a/LeetCode SQL 50 Solution/176. Second Highest Salary.SQL +++ b/LeetCode SQL 50 Solution/176. Second Highest Salary.SQL @@ -0,0 +1,57 @@ +176. Second Highest Salary +Solved +Medium +Topics +Companies +SQL Schema +Pandas Schema +Table: Employee + ++-------------+------+ +| Column Name | Type | ++-------------+------+ +| id | int | +| salary | int | ++-------------+------+ +id is the primary key (column with unique values) for this table. +Each row of this table contains information about the salary of an employee. + + +Write a solution to find the second highest distinct salary from the Employee table. If there is no second highest salary, return null (return None in Pandas). + +The result format is in the following example. + + + +Example 1: + +Input: +Employee table: ++----+--------+ +| id | salary | ++----+--------+ +| 1 | 100 | +| 2 | 200 | +| 3 | 300 | ++----+--------+ +Output: ++---------------------+ +| SecondHighestSalary | ++---------------------+ +| 200 | ++---------------------+ +Example 2: + +Input: +Employee table: ++----+--------+ +| id | salary | ++----+--------+ +| 1 | 100 | ++----+--------+ +Output: ++---------------------+ +| SecondHighestSalary | ++---------------------+ +| null | ++---------------------+ \ No newline at end of file From d3f57475d9be4f648e3ffe95b013691d4983b303 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 22:52:03 +0530 Subject: [PATCH 051/353] Update 176. Second Highest Salary.SQL --- .../176. Second Highest Salary.SQL | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/LeetCode SQL 50 Solution/176. Second Highest Salary.SQL b/LeetCode SQL 50 Solution/176. Second Highest Salary.SQL index 1698a45..e8f8028 100644 --- a/LeetCode SQL 50 Solution/176. Second Highest Salary.SQL +++ b/LeetCode SQL 50 Solution/176. Second Highest Salary.SQL @@ -54,4 +54,13 @@ Output: | SecondHighestSalary | +---------------------+ | null | -+---------------------+ \ No newline at end of file ++---------------------+ + +WITH + RankedEmployees AS ( + SELECT *, DENSE_RANK() OVER(ORDER BY salary DESC) AS `rank` + FROM Employee + ) +SELECT MAX(salary) AS SecondHighestSalary +FROM RankedEmployees +WHERE `rank` = 2; \ No newline at end of file From e231d028f571ff1f3ab13bb4a8d8e286f606a0f8 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 22:53:19 +0530 Subject: [PATCH 052/353] Create 196. Delete Duplicate Emails.sql --- .../196. Delete Duplicate Emails.sql | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 LeetCode SQL 50 Solution/196. Delete Duplicate Emails.sql diff --git a/LeetCode SQL 50 Solution/196. Delete Duplicate Emails.sql b/LeetCode SQL 50 Solution/196. Delete Duplicate Emails.sql new file mode 100644 index 0000000..a81f41a --- /dev/null +++ b/LeetCode SQL 50 Solution/196. Delete Duplicate Emails.sql @@ -0,0 +1,53 @@ +196. Delete Duplicate Emails +Solved +Easy +Topics +Companies +SQL Schema +Pandas Schema +Table: Person + ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| id | int | +| email | varchar | ++-------------+---------+ +id is the primary key (column with unique values) for this table. +Each row of this table contains an email. The emails will not contain uppercase letters. + + +Write a solution to delete all duplicate emails, keeping only one unique email with the smallest id. + +For SQL users, please note that you are supposed to write a DELETE statement and not a SELECT one. + +For Pandas users, please note that you are supposed to modify Person in place. + +After running your script, the answer shown is the Person table. The driver will first compile and run your piece of code and then show the Person table. The final order of the Person table does not matter. + +The result format is in the following example. + + + +Example 1: + +Input: +Person table: ++----+------------------+ +| id | email | ++----+------------------+ +| 1 | john@example.com | +| 2 | bob@example.com | +| 3 | john@example.com | ++----+------------------+ +Output: ++----+------------------+ +| id | email | ++----+------------------+ +| 1 | john@example.com | +| 2 | bob@example.com | ++----+------------------+ +Explanation: john@example.com is repeated two times. We keep the row with the smallest Id = 1. + + + From ead49ee35b22341ca7771ab30e917fbb331645b9 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 22:53:27 +0530 Subject: [PATCH 053/353] Update 196. Delete Duplicate Emails.sql --- LeetCode SQL 50 Solution/196. Delete Duplicate Emails.sql | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/LeetCode SQL 50 Solution/196. Delete Duplicate Emails.sql b/LeetCode SQL 50 Solution/196. Delete Duplicate Emails.sql index a81f41a..214afb4 100644 --- a/LeetCode SQL 50 Solution/196. Delete Duplicate Emails.sql +++ b/LeetCode SQL 50 Solution/196. Delete Duplicate Emails.sql @@ -51,3 +51,8 @@ Explanation: john@example.com is repeated two times. We keep the row with the sm +# Write your MySQL query statement below +# Write your MySQL query statement below +DELETE p2 FROM Person p1 +JOIN Person p2 +ON p1.email = p2.email AND p1.id < p2.id; \ No newline at end of file From c120ccb8e1b4e700d0f3679db6ff6697a10e656c Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 22:54:48 +0530 Subject: [PATCH 054/353] Create 1527. Patients With a Condition.sql --- .../1527. Patients With a Condition.sql | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 LeetCode SQL 50 Solution/1527. Patients With a Condition.sql diff --git a/LeetCode SQL 50 Solution/1527. Patients With a Condition.sql b/LeetCode SQL 50 Solution/1527. Patients With a Condition.sql new file mode 100644 index 0000000..e51a43e --- /dev/null +++ b/LeetCode SQL 50 Solution/1527. Patients With a Condition.sql @@ -0,0 +1,57 @@ +1527. Patients With a Condition +Solved +Easy +Topics +Companies +SQL Schema +Pandas Schema +Table: Patients + ++--------------+---------+ +| Column Name | Type | ++--------------+---------+ +| patient_id | int | +| patient_name | varchar | +| conditions | varchar | ++--------------+---------+ +patient_id is the primary key (column with unique values) for this table. +'conditions' contains 0 or more code separated by spaces. +This table contains information of the patients in the hospital. + + +Write a solution to find the patient_id, patient_name, and conditions of the patients who have Type I Diabetes. Type I Diabetes always starts with DIAB1 prefix. + +Return the result table in any order. + +The result format is in the following example. + + + +Example 1: + +Input: +Patients table: ++------------+--------------+--------------+ +| patient_id | patient_name | conditions | ++------------+--------------+--------------+ +| 1 | Daniel | YFEV COUGH | +| 2 | Alice | | +| 3 | Bob | DIAB100 MYOP | +| 4 | George | ACNE DIAB100 | +| 5 | Alain | DIAB201 | ++------------+--------------+--------------+ +Output: ++------------+--------------+--------------+ +| patient_id | patient_name | conditions | ++------------+--------------+--------------+ +| 3 | Bob | DIAB100 MYOP | +| 4 | George | ACNE DIAB100 | ++------------+--------------+--------------+ +Explanation: Bob and George both have a condition that starts with DIAB1. + + + +# Write your MySQL query statement below +SELECT patient_id, patient_name, conditions +FROM Patients +WHERE conditions LIKE 'DIAB1%' OR conditions LIKE '% DIAB1%' \ No newline at end of file From 4404a7646e4c582e4641158ef02a53dcd9f08683 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 22:57:12 +0530 Subject: [PATCH 055/353] Create 1667. Fix Names in a Table.sql --- LeetCode SQL 50 Solution/1667. Fix Names in a Table.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1667. Fix Names in a Table.sql diff --git a/LeetCode SQL 50 Solution/1667. Fix Names in a Table.sql b/LeetCode SQL 50 Solution/1667. Fix Names in a Table.sql new file mode 100644 index 0000000..e69de29 From 35ca53b686296f4ac2f95d840cb96731a6f10b42 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 22:57:25 +0530 Subject: [PATCH 056/353] Update 1667. Fix Names in a Table.sql --- .../1667. Fix Names in a Table.sql | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/LeetCode SQL 50 Solution/1667. Fix Names in a Table.sql b/LeetCode SQL 50 Solution/1667. Fix Names in a Table.sql index e69de29..0730af5 100644 --- a/LeetCode SQL 50 Solution/1667. Fix Names in a Table.sql +++ b/LeetCode SQL 50 Solution/1667. Fix Names in a Table.sql @@ -0,0 +1,44 @@ +1667. Fix Names in a Table +Solved +Easy +Topics +Companies +SQL Schema +Pandas Schema +Table: Users + ++----------------+---------+ +| Column Name | Type | ++----------------+---------+ +| user_id | int | +| name | varchar | ++----------------+---------+ +user_id is the primary key (column with unique values) for this table. +This table contains the ID and the name of the user. The name consists of only lowercase and uppercase characters. + + +Write a solution to fix the names so that only the first character is uppercase and the rest are lowercase. + +Return the result table ordered by user_id. + +The result format is in the following example. + + + +Example 1: + +Input: +Users table: ++---------+-------+ +| user_id | name | ++---------+-------+ +| 1 | aLice | +| 2 | bOB | ++---------+-------+ +Output: ++---------+-------+ +| user_id | name | ++---------+-------+ +| 1 | Alice | +| 2 | Bob | ++---------+-------+ \ No newline at end of file From 39d9bdbc93042f51258818834a76722757a60528 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 22:57:37 +0530 Subject: [PATCH 057/353] Update 1667. Fix Names in a Table.sql --- .../1667. Fix Names in a Table.sql | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/LeetCode SQL 50 Solution/1667. Fix Names in a Table.sql b/LeetCode SQL 50 Solution/1667. Fix Names in a Table.sql index 0730af5..a092a51 100644 --- a/LeetCode SQL 50 Solution/1667. Fix Names in a Table.sql +++ b/LeetCode SQL 50 Solution/1667. Fix Names in a Table.sql @@ -41,4 +41,13 @@ Output: +---------+-------+ | 1 | Alice | | 2 | Bob | -+---------+-------+ \ No newline at end of file ++---------+-------+ + + + + +# Write your MySQL query statement below +SELECT user_id, + CONCAT(UPPER(LEFT(name, 1)), LOWER(SUBSTRING(name, 2))) AS name +FROM Users +ORDER BY user_id; \ No newline at end of file From 53401384e294b8296f5fc5434b5562482939260b Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 23:00:16 +0530 Subject: [PATCH 058/353] Create 585. Investments in 2016.sql --- .../585. Investments in 2016.sql | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 LeetCode SQL 50 Solution/585. Investments in 2016.sql diff --git a/LeetCode SQL 50 Solution/585. Investments in 2016.sql b/LeetCode SQL 50 Solution/585. Investments in 2016.sql new file mode 100644 index 0000000..427fb1e --- /dev/null +++ b/LeetCode SQL 50 Solution/585. Investments in 2016.sql @@ -0,0 +1,61 @@ +585. Investments in 2016 +Solved +Medium +Topics +Companies +Hint +SQL Schema +Pandas Schema +Table: Insurance + ++-------------+-------+ +| Column Name | Type | ++-------------+-------+ +| pid | int | +| tiv_2015 | float | +| tiv_2016 | float | +| lat | float | +| lon | float | ++-------------+-------+ +pid is the primary key (column with unique values) for this table. +Each row of this table contains information about one policy where: +pid is the policyholder's policy ID. +tiv_2015 is the total investment value in 2015 and tiv_2016 is the total investment value in 2016. +lat is the latitude of the policy holder's city. It's guaranteed that lat is not NULL. +lon is the longitude of the policy holder's city. It's guaranteed that lon is not NULL. + + +Write a solution to report the sum of all total investment values in 2016 tiv_2016, for all policyholders who: + +have the same tiv_2015 value as one or more other policyholders, and +are not located in the same city as any other policyholder (i.e., the (lat, lon) attribute pairs must be unique). +Round tiv_2016 to two decimal places. + +The result format is in the following example. + + + +Example 1: + +Input: +Insurance table: ++-----+----------+----------+-----+-----+ +| pid | tiv_2015 | tiv_2016 | lat | lon | ++-----+----------+----------+-----+-----+ +| 1 | 10 | 5 | 10 | 10 | +| 2 | 20 | 20 | 20 | 20 | +| 3 | 10 | 30 | 20 | 20 | +| 4 | 10 | 40 | 40 | 40 | ++-----+----------+----------+-----+-----+ +Output: ++----------+ +| tiv_2016 | ++----------+ +| 45.00 | ++----------+ +Explanation: +The first record in the table, like the last record, meets both of the two criteria. +The tiv_2015 value 10 is the same as the third and fourth records, and its location is unique. + +The second record does not meet any of the two criteria. Its tiv_2015 is not like any other policyholders and its location is the same as the third record, which makes the third record fail, too. +So, the result is the sum of tiv_2016 of the first and last record, which is 45. \ No newline at end of file From 97ad079196dd996889fbb63d4551904b9aeba0e2 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 23:01:05 +0530 Subject: [PATCH 059/353] Update 585. Investments in 2016.sql --- .../585. Investments in 2016.sql | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/LeetCode SQL 50 Solution/585. Investments in 2016.sql b/LeetCode SQL 50 Solution/585. Investments in 2016.sql index 427fb1e..abad2d8 100644 --- a/LeetCode SQL 50 Solution/585. Investments in 2016.sql +++ b/LeetCode SQL 50 Solution/585. Investments in 2016.sql @@ -1,11 +1,5 @@ 585. Investments in 2016 -Solved -Medium -Topics -Companies -Hint -SQL Schema -Pandas Schema +""" Table: Insurance +-------------+-------+ @@ -58,4 +52,19 @@ The first record in the table, like the last record, meets both of the two crite The tiv_2015 value 10 is the same as the third and fourth records, and its location is unique. The second record does not meet any of the two criteria. Its tiv_2015 is not like any other policyholders and its location is the same as the third record, which makes the third record fail, too. -So, the result is the sum of tiv_2016 of the first and last record, which is 45. \ No newline at end of file +So, the result is the sum of tiv_2016 of the first and last record, which is 45. + +""" + +WITH + InsuranceWithCounts AS ( + SELECT + tiv_2016, + COUNT(*) OVER(PARTITION by tiv_2015) AS tiv_2015_count, + COUNT(*) OVER(PARTITION by lat, lon) AS city_count + FROM Insurance + ) +SELECT ROUND(SUM(tiv_2016), 2) AS tiv_2016 +FROM InsuranceWithCounts +WHERE tiv_2015_count > 1 + AND city_count = 1; \ No newline at end of file From 18559ef3700c974d8fec3cce1fcaf1461d6e6385 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 23:10:23 +0530 Subject: [PATCH 060/353] Create 1341. Movie Rating.sql --- .../1341. Movie Rating.sql | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 LeetCode SQL 50 Solution/1341. Movie Rating.sql diff --git a/LeetCode SQL 50 Solution/1341. Movie Rating.sql b/LeetCode SQL 50 Solution/1341. Movie Rating.sql new file mode 100644 index 0000000..bb083f8 --- /dev/null +++ b/LeetCode SQL 50 Solution/1341. Movie Rating.sql @@ -0,0 +1,98 @@ +1341. Movie Rating +Solved +Medium +Topics +Companies +SQL Schema +Pandas Schema +Table: Movies + ++---------------+---------+ +| Column Name | Type | ++---------------+---------+ +| movie_id | int | +| title | varchar | ++---------------+---------+ +movie_id is the primary key (column with unique values) for this table. +title is the name of the movie. + + +Table: Users + ++---------------+---------+ +| Column Name | Type | ++---------------+---------+ +| user_id | int | +| name | varchar | ++---------------+---------+ +user_id is the primary key (column with unique values) for this table. +The column 'name' has unique values. +Table: MovieRating + ++---------------+---------+ +| Column Name | Type | ++---------------+---------+ +| movie_id | int | +| user_id | int | +| rating | int | +| created_at | date | ++---------------+---------+ +(movie_id, user_id) is the primary key (column with unique values) for this table. +This table contains the rating of a movie by a user in their review. +created_at is the user's review date. + + +Write a solution to: + +Find the name of the user who has rated the greatest number of movies. In case of a tie, return the lexicographically smaller user name. +Find the movie name with the highest average rating in February 2020. In case of a tie, return the lexicographically smaller movie name. +The result format is in the following example. + + + +Example 1: + +Input: +Movies table: ++-------------+--------------+ +| movie_id | title | ++-------------+--------------+ +| 1 | Avengers | +| 2 | Frozen 2 | +| 3 | Joker | ++-------------+--------------+ +Users table: ++-------------+--------------+ +| user_id | name | ++-------------+--------------+ +| 1 | Daniel | +| 2 | Monica | +| 3 | Maria | +| 4 | James | ++-------------+--------------+ +MovieRating table: ++-------------+--------------+--------------+-------------+ +| movie_id | user_id | rating | created_at | ++-------------+--------------+--------------+-------------+ +| 1 | 1 | 3 | 2020-01-12 | +| 1 | 2 | 4 | 2020-02-11 | +| 1 | 3 | 2 | 2020-02-12 | +| 1 | 4 | 1 | 2020-01-01 | +| 2 | 1 | 5 | 2020-02-17 | +| 2 | 2 | 2 | 2020-02-01 | +| 2 | 3 | 2 | 2020-03-01 | +| 3 | 1 | 3 | 2020-02-22 | +| 3 | 2 | 4 | 2020-02-25 | ++-------------+--------------+--------------+-------------+ +Output: ++--------------+ +| results | ++--------------+ +| Daniel | +| Frozen 2 | ++--------------+ +Explanation: +Daniel and Monica have rated 3 movies ("Avengers", "Frozen 2" and "Joker") but Daniel is smaller lexicographically. +Frozen 2 and Joker have a rating average of 3.5 in February but Frozen 2 is smaller lexicographically. + + From b02ef66c0d67d270149f8ed827b127e3df30f0c5 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 23:11:06 +0530 Subject: [PATCH 061/353] Update 1341. Movie Rating.sql --- .../1341. Movie Rating.sql | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/LeetCode SQL 50 Solution/1341. Movie Rating.sql b/LeetCode SQL 50 Solution/1341. Movie Rating.sql index bb083f8..d5af570 100644 --- a/LeetCode SQL 50 Solution/1341. Movie Rating.sql +++ b/LeetCode SQL 50 Solution/1341. Movie Rating.sql @@ -1,10 +1,5 @@ 1341. Movie Rating -Solved -Medium -Topics -Companies -SQL Schema -Pandas Schema +""" Table: Movies +---------------+---------+ @@ -95,4 +90,26 @@ Explanation: Daniel and Monica have rated 3 movies ("Avengers", "Frozen 2" and "Joker") but Daniel is smaller lexicographically. Frozen 2 and Joker have a rating average of 3.5 in February but Frozen 2 is smaller lexicographically. +""" +# Write your MySQL query statement below +( + SELECT name AS results + FROM + Users + JOIN MovieRating USING (user_id) + GROUP BY user_id + ORDER BY COUNT(1) DESC, name + LIMIT 1 +) +UNION ALL +( + SELECT title + FROM + MovieRating + JOIN Movies USING (movie_id) + WHERE DATE_FORMAT(created_at, '%Y-%m') = '2020-02' + GROUP BY movie_id + ORDER BY AVG(rating) DESC, title + LIMIT 1 +); \ No newline at end of file From c06955e21caeda8b9095117b446ec3706d433b5d Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 23:11:53 +0530 Subject: [PATCH 062/353] Create 1321. Restaurant Growth.sql --- LeetCode SQL 50 Solution/1321. Restaurant Growth.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1321. Restaurant Growth.sql diff --git a/LeetCode SQL 50 Solution/1321. Restaurant Growth.sql b/LeetCode SQL 50 Solution/1321. Restaurant Growth.sql new file mode 100644 index 0000000..e69de29 From 510ad9708262ce0634a9f4658ad96cb5d5b6af70 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 23:12:13 +0530 Subject: [PATCH 063/353] Update 1321. Restaurant Growth.sql --- .../1321. Restaurant Growth.sql | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/LeetCode SQL 50 Solution/1321. Restaurant Growth.sql b/LeetCode SQL 50 Solution/1321. Restaurant Growth.sql index e69de29..6c7127c 100644 --- a/LeetCode SQL 50 Solution/1321. Restaurant Growth.sql +++ b/LeetCode SQL 50 Solution/1321. Restaurant Growth.sql @@ -0,0 +1,68 @@ +321. Restaurant Growth +Solved +Medium +Topics +Companies +SQL Schema +Pandas Schema +Table: Customer + ++---------------+---------+ +| Column Name | Type | ++---------------+---------+ +| customer_id | int | +| name | varchar | +| visited_on | date | +| amount | int | ++---------------+---------+ +In SQL,(customer_id, visited_on) is the primary key for this table. +This table contains data about customer transactions in a restaurant. +visited_on is the date on which the customer with ID (customer_id) has visited the restaurant. +amount is the total paid by a customer. + + +You are the restaurant owner and you want to analyze a possible expansion (there will be at least one customer every day). + +Compute the moving average of how much the customer paid in a seven days window (i.e., current day + 6 days before). average_amount should be rounded to two decimal places. + +Return the result table ordered by visited_on in ascending order. + +The result format is in the following example. + + + +Example 1: + +Input: +Customer table: ++-------------+--------------+--------------+-------------+ +| customer_id | name | visited_on | amount | ++-------------+--------------+--------------+-------------+ +| 1 | Jhon | 2019-01-01 | 100 | +| 2 | Daniel | 2019-01-02 | 110 | +| 3 | Jade | 2019-01-03 | 120 | +| 4 | Khaled | 2019-01-04 | 130 | +| 5 | Winston | 2019-01-05 | 110 | +| 6 | Elvis | 2019-01-06 | 140 | +| 7 | Anna | 2019-01-07 | 150 | +| 8 | Maria | 2019-01-08 | 80 | +| 9 | Jaze | 2019-01-09 | 110 | +| 1 | Jhon | 2019-01-10 | 130 | +| 3 | Jade | 2019-01-10 | 150 | ++-------------+--------------+--------------+-------------+ +Output: ++--------------+--------------+----------------+ +| visited_on | amount | average_amount | ++--------------+--------------+----------------+ +| 2019-01-07 | 860 | 122.86 | +| 2019-01-08 | 840 | 120 | +| 2019-01-09 | 840 | 120 | +| 2019-01-10 | 1000 | 142.86 | ++--------------+--------------+----------------+ +Explanation: +1st moving average from 2019-01-01 to 2019-01-07 has an average_amount of (100 + 110 + 120 + 130 + 110 + 140 + 150)/7 = 122.86 +2nd moving average from 2019-01-02 to 2019-01-08 has an average_amount of (110 + 120 + 130 + 110 + 140 + 150 + 80)/7 = 120 +3rd moving average from 2019-01-03 to 2019-01-09 has an average_amount of (120 + 130 + 110 + 140 + 150 + 80 + 110)/7 = 120 +4th moving average from 2019-01-04 to 2019-01-10 has an average_amount of (130 + 110 + 140 + 150 + 80 + 110 + 130 + 150)/7 = 142.86 + + From 748fc9ec9de422b69388e30284fd3974467a40c4 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 23:13:00 +0530 Subject: [PATCH 064/353] Update 1321. Restaurant Growth.sql --- .../1321. Restaurant Growth.sql | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/LeetCode SQL 50 Solution/1321. Restaurant Growth.sql b/LeetCode SQL 50 Solution/1321. Restaurant Growth.sql index 6c7127c..384399e 100644 --- a/LeetCode SQL 50 Solution/1321. Restaurant Growth.sql +++ b/LeetCode SQL 50 Solution/1321. Restaurant Growth.sql @@ -66,3 +66,42 @@ Explanation: 4th moving average from 2019-01-04 to 2019-01-10 has an average_amount of (130 + 110 + 140 + 150 + 80 + 110 + 130 + 150)/7 = 142.86 +Solution 1: + +# Write your MySQL query statement below +WITH + t AS ( + SELECT + visited_on, + SUM(amount) OVER ( + ORDER BY visited_on + ROWS 6 PRECEDING + ) AS amount, + RANK() OVER ( + ORDER BY visited_on + ROWS 6 PRECEDING + ) AS rk + FROM + ( + SELECT visited_on, SUM(amount) AS amount + FROM Customer + GROUP BY visited_on + ) AS tt + ) +SELECT visited_on, amount, ROUND(amount / 7, 2) AS average_amount +FROM t +WHERE rk > 6; + + +Solution 2: +# Write your MySQL query statement below +SELECT + a.visited_on, + SUM(b.amount) AS amount, + ROUND(SUM(b.amount) / 7, 2) AS average_amount +FROM + (SELECT DISTINCT visited_on FROM customer) AS a + JOIN customer AS b ON DATEDIFF(a.visited_on, b.visited_on) BETWEEN 0 AND 6 +WHERE a.visited_on >= (SELECT MIN(visited_on) FROM customer) + 6 +GROUP BY 1 +ORDER BY 1; \ No newline at end of file From fef63874c0b2ffaadd8aee19bc8019f50cc511ca Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 23:13:48 +0530 Subject: [PATCH 065/353] Create 626. Exchange Seats.sql --- LeetCode SQL 50 Solution/626. Exchange Seats.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/626. Exchange Seats.sql diff --git a/LeetCode SQL 50 Solution/626. Exchange Seats.sql b/LeetCode SQL 50 Solution/626. Exchange Seats.sql new file mode 100644 index 0000000..e69de29 From bcc48be3fc718d67d5e69f68f1513b4be35109a3 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 23:14:01 +0530 Subject: [PATCH 066/353] Update 626. Exchange Seats.sql --- .../626. Exchange Seats.sql | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/LeetCode SQL 50 Solution/626. Exchange Seats.sql b/LeetCode SQL 50 Solution/626. Exchange Seats.sql index e69de29..8f2ad0d 100644 --- a/LeetCode SQL 50 Solution/626. Exchange Seats.sql +++ b/LeetCode SQL 50 Solution/626. Exchange Seats.sql @@ -0,0 +1,55 @@ +626. Exchange Seats +Solved +Medium +Topics +Companies +SQL Schema +Pandas Schema +Table: Seat + ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| id | int | +| student | varchar | ++-------------+---------+ +id is the primary key (unique value) column for this table. +Each row of this table indicates the name and the ID of a student. +The ID sequence always starts from 1 and increments continuously. + + +Write a solution to swap the seat id of every two consecutive students. If the number of students is odd, the id of the last student is not swapped. + +Return the result table ordered by id in ascending order. + +The result format is in the following example. + + + +Example 1: + +Input: +Seat table: ++----+---------+ +| id | student | ++----+---------+ +| 1 | Abbot | +| 2 | Doris | +| 3 | Emerson | +| 4 | Green | +| 5 | Jeames | ++----+---------+ +Output: ++----+---------+ +| id | student | ++----+---------+ +| 1 | Doris | +| 2 | Abbot | +| 3 | Green | +| 4 | Emerson | +| 5 | Jeames | ++----+---------+ +Explanation: +Note that if the number of students is odd, there is no need to change the last one's seat. + + From 574fe8bbf4206d1282887ac7e314969457ed3e1e Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 23:14:20 +0530 Subject: [PATCH 067/353] Update 626. Exchange Seats.sql --- LeetCode SQL 50 Solution/626. Exchange Seats.sql | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/LeetCode SQL 50 Solution/626. Exchange Seats.sql b/LeetCode SQL 50 Solution/626. Exchange Seats.sql index 8f2ad0d..d4ba56e 100644 --- a/LeetCode SQL 50 Solution/626. Exchange Seats.sql +++ b/LeetCode SQL 50 Solution/626. Exchange Seats.sql @@ -51,5 +51,15 @@ Output: +----+---------+ Explanation: Note that if the number of students is odd, there is no need to change the last one's seat. +''' +# MYSQL Query Accepted +SELECT ( CASE + WHEN id%2 != 0 AND id != counts THEN id+1 + WHEN id%2 != 0 AND id = counts THEN id + ELSE id-1 + END) AS id, student +FROM seat, (select count(*) as counts from seat) +AS seat_counts +ORDER BY id ASC \ No newline at end of file From 62345d5212f0a9a87b95074a65f71aa396c437ef Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 23:17:04 +0530 Subject: [PATCH 068/353] Create 602. Friend Requests II.sql --- .../602. Friend Requests II.sql | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 LeetCode SQL 50 Solution/602. Friend Requests II.sql diff --git a/LeetCode SQL 50 Solution/602. Friend Requests II.sql b/LeetCode SQL 50 Solution/602. Friend Requests II.sql new file mode 100644 index 0000000..48592ae --- /dev/null +++ b/LeetCode SQL 50 Solution/602. Friend Requests II.sql @@ -0,0 +1,55 @@ +602. Friend Requests II: Who Has the Most Friends +Solved +Medium +Topics +Companies +Hint +SQL Schema +Pandas Schema +Table: RequestAccepted + ++----------------+---------+ +| Column Name | Type | ++----------------+---------+ +| requester_id | int | +| accepter_id | int | +| accept_date | date | ++----------------+---------+ +(requester_id, accepter_id) is the primary key (combination of columns with unique values) for this table. +This table contains the ID of the user who sent the request, the ID of the user who received the request, and the date when the request was accepted. + + +Write a solution to find the people who have the most friends and the most friends number. + +The test cases are generated so that only one person has the most friends. + +The result format is in the following example. + + + +Example 1: + +Input: +RequestAccepted table: ++--------------+-------------+-------------+ +| requester_id | accepter_id | accept_date | ++--------------+-------------+-------------+ +| 1 | 2 | 2016/06/03 | +| 1 | 3 | 2016/06/08 | +| 2 | 3 | 2016/06/08 | +| 3 | 4 | 2016/06/09 | ++--------------+-------------+-------------+ +Output: ++----+-----+ +| id | num | ++----+-----+ +| 3 | 3 | ++----+-----+ +Explanation: +The person with id 3 is a friend of people 1, 2, and 4, so he has three friends in total, which is the most number than any others. + + +Follow up: In the real world, multiple people could have the same most number of friends. Could you find all these people in this case? + + + From 0b2ec0603cf4b71e6546722cd4a8bd424b29f65e Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 23:17:22 +0530 Subject: [PATCH 069/353] Update 602. Friend Requests II.sql --- LeetCode SQL 50 Solution/602. Friend Requests II.sql | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/LeetCode SQL 50 Solution/602. Friend Requests II.sql b/LeetCode SQL 50 Solution/602. Friend Requests II.sql index 48592ae..99c5e2c 100644 --- a/LeetCode SQL 50 Solution/602. Friend Requests II.sql +++ b/LeetCode SQL 50 Solution/602. Friend Requests II.sql @@ -53,3 +53,15 @@ Follow up: In the real world, multiple people could have the same most number of +# Write your MySQL query statement below +WITH + T AS ( + SELECT requester_id, accepter_id FROM RequestAccepted + UNION ALL + SELECT accepter_id, requester_id FROM RequestAccepted + ) +SELECT requester_id AS id, COUNT(1) AS num +FROM T +GROUP BY 1 +ORDER BY 2 DESC +LIMIT 1; \ No newline at end of file From 9a83bc899efef2cd5f9cc293e4de211a65782b8d Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 23:22:12 +0530 Subject: [PATCH 070/353] Create 1204. Last Person to Fit in the Bus.md --- .../1204. Last Person to Fit in the Bus.md | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.md diff --git a/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.md b/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.md new file mode 100644 index 0000000..24fb197 --- /dev/null +++ b/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.md @@ -0,0 +1,77 @@ +# 1204. Last Person to Fit in the Bus +``` + ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| person_id | int | +| person_name | varchar | +| weight | int | +| turn | int | ++-------------+---------+ + +``` + +person_id column contains unique values. +This table has the information about all people waiting for a bus. +The person_id and turn columns will contain all numbers from 1 to n, where n is the number of rows in the table. +turn determines the order of which the people will board the bus, where turn=1 denotes the first person to board and turn=n denotes the last person to board. +weight is the weight of the person in kilograms. + + +There is a queue of people waiting to board a bus. However, the bus has a weight limit of 1000 kilograms, so there may be some people who cannot board. + +Write a solution to find the person_name of the last person that can fit on the bus without exceeding the weight limit. The test cases are generated such that the first person does not exceed the weight limit. + +Note that only one person can board the bus at any given turn. + +## The result format is in the following example. + +```table[] + +Example 1: + +Input: +Queue table: ++-----------+-------------+--------+------+ +| person_id | person_name | weight | turn | ++-----------+-------------+--------+------+ +| 5 | Alice | 250 | 1 | +| 4 | Bob | 175 | 5 | +| 3 | Alex | 350 | 2 | +| 6 | John Cena | 400 | 3 | +| 1 | Winston | 500 | 6 | +| 2 | Marie | 200 | 4 | ++-----------+-------------+--------+------+ +Output: ++-------------+ +| person_name | ++-------------+ +| John Cena | ++-------------+ +Explanation: The folowing table is ordered by the turn for simplicity. ++------+----+-----------+--------+--------------+ +| Turn | ID | Name | Weight | Total Weight | ++------+----+-----------+--------+--------------+ +| 1 | 5 | Alice | 250 | 250 | +| 2 | 3 | Alex | 350 | 600 | +| 3 | 6 | John Cena | 400 | 1000 | (last person to board) +| 4 | 2 | Marie | 200 | 1200 | (cannot board) +| 5 | 4 | Bob | 175 | ___ | +| 6 | 1 | Winston | 500 | ___ | ++------+----+-----------+--------+--------------+ +``` + +```SQL[] +# Write your MySQL query statement below +# Write your MySQL query statement below +SELECT a.person_name +FROM + Queue AS a, + Queue AS b +WHERE a.turn >= b.turn +GROUP BY a.person_id +HAVING SUM(b.weight) <= 1000 +ORDER BY a.turn DESC +LIMIT 1; +``` \ No newline at end of file From 1a1cf5749f8e760a6ff90b99cf59466d1b61d5cf Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 23 Mar 2025 23:25:38 +0530 Subject: [PATCH 071/353] Create 610. Triangle Judgement.sql --- .../610. Triangle Judgement.sql | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 LeetCode SQL 50 Solution/610. Triangle Judgement.sql diff --git a/LeetCode SQL 50 Solution/610. Triangle Judgement.sql b/LeetCode SQL 50 Solution/610. Triangle Judgement.sql new file mode 100644 index 0000000..3e353f0 --- /dev/null +++ b/LeetCode SQL 50 Solution/610. Triangle Judgement.sql @@ -0,0 +1,52 @@ +610. Triangle Judgement +Solved +Easy +Topics +Companies +SQL Schema +Pandas Schema +Table: Triangle + ++-------------+------+ +| Column Name | Type | ++-------------+------+ +| x | int | +| y | int | +| z | int | ++-------------+------+ +In SQL, (x, y, z) is the primary key column for this table. +Each row of this table contains the lengths of three line segments. + + +Report for every three line segments whether they can form a triangle. + +Return the result table in any order. + +The result format is in the following example. + + + +Example 1: + +Input: +Triangle table: ++----+----+----+ +| x | y | z | ++----+----+----+ +| 13 | 15 | 30 | +| 10 | 20 | 15 | ++----+----+----+ +Output: ++----+----+----+----------+ +| x | y | z | triangle | ++----+----+----+----------+ +| 13 | 15 | 30 | No | +| 10 | 20 | 15 | Yes | ++----+----+----+----------+ + + +# Write your MySQL query statement below +SELECT + *, + IF(x + y > z AND x + z > y AND y + z > x, 'Yes', 'No') AS triangle +FROM Triangle; \ No newline at end of file From f545ac5c0780e56338e24ac06dd9d5404785680c Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 24 Mar 2025 01:50:37 +0530 Subject: [PATCH 072/353] ef --- .gitignore | 1 + README.md | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b4c093a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +profile.md \ No newline at end of file diff --git a/README.md b/README.md index 3fc30a1..752731c 100644 --- a/README.md +++ b/README.md @@ -43,3 +43,16 @@ Problem 3: Description of the problem and the SQL solution. ### Contributing:- Feel free to fork this repository, suggest improvements, or submit your own solutions via pull requests. Let's learn and grow together! + + +### Progress + +### Progress +🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜⬜⬜⬜⬜ 75% + + + +update-date.yml + + +## Last Updated: 2023-10-25 \ No newline at end of file From 828a0d44244f98819625b0b2a2d00f2969cb10ce Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 24 Mar 2025 01:51:41 +0530 Subject: [PATCH 073/353] Create update-date.yml --- .github/workflows/update-date.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/update-date.yml diff --git a/.github/workflows/update-date.yml b/.github/workflows/update-date.yml new file mode 100644 index 0000000..309720d --- /dev/null +++ b/.github/workflows/update-date.yml @@ -0,0 +1,29 @@ +name: Update Date in README + +on: + schedule: + - cron: "0 0 * * *" # Runs daily at midnight UTC + workflow_dispatch: # Allows manual triggering + +jobs: + update-date: + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v4 + + - name: Update date in README.md + run: | + # Get current date (customize format below) + CURRENT_DATE=$(date +'%Y-%m-%d') + + # Replace placeholder with the current date + sed -i "s//${CURRENT_DATE}/g" README.md + + - name: Commit and push changes + run: | + git config user.name "github-actions" + git config user.email "actions@github.com" + git add README.md + git commit -m "Update date in README" || echo "No changes to commit" + git push From 171527dfbdc55cbb5bf983114c41da27a85b9886 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 24 Mar 2025 14:55:13 +0530 Subject: [PATCH 074/353] Update README.md --- README.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/README.md b/README.md index 752731c..3696c07 100644 --- a/README.md +++ b/README.md @@ -45,14 +45,6 @@ Problem 3: Description of the problem and the SQL solution. Feel free to fork this repository, suggest improvements, or submit your own solutions via pull requests. Let's learn and grow together! -### Progress - ### Progress 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜⬜⬜⬜⬜ 75% - - -update-date.yml - - -## Last Updated: 2023-10-25 \ No newline at end of file From 2585b7adfd954842eeffa1615cb1125ec960d227 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 24 Mar 2025 15:01:34 +0530 Subject: [PATCH 075/353] Create CONTTRIBUTE.MD --- CONTTRIBUTE.MD | 170 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 CONTTRIBUTE.MD diff --git a/CONTTRIBUTE.MD b/CONTTRIBUTE.MD new file mode 100644 index 0000000..7bc5c5c --- /dev/null +++ b/CONTTRIBUTE.MD @@ -0,0 +1,170 @@ +# Contributing to LeetCode_Daily_Task + +Thank you for your interest in contributing to **LeetCode_Daily_Task**! + +--- + +## Table of Contents +- [Contributing to LeetCode\_Daily\_Task](#contributing-to-leetcode_daily_task) + - [Table of Contents](#table-of-contents) + - [How to Contribute](#how-to-contribute) + - [Impressive Contributions \& Highlights](#impressive-contributions--highlights) + - [Contributor Recognition Process](#contributor-recognition-process) + - [Share Your Thoughts](#share-your-thoughts) + - [Issue Reporting](#issue-reporting) + - [Pull Request Process](#pull-request-process) + - [Coding Guidelines](#coding-guidelines) + - [Commit Message Guidelines](#commit-message-guidelines) + - [Acknowledgments](#acknowledgments) + +--- + +## How to Contribute + +1. **Fork the Repository:** + Click the **Fork** button on the repository page to create your own copy. + +2. **Clone Your Fork:** + ```bash + git clone https://github.com/your-username/LeetCode_Daily_Task.git + ``` + +3. **Create a Branch:** + Create a new branch for your feature, solution, or bug fix. + ```bash + git checkout -b feature/your-feature-name + ``` + +4. **Implement Your Changes:** + - Add your solution or enhancements. + - Include any discussion points or explanations in your code comments or PR description. + - Follow the coding guidelines (see below). + - Update or add test cases as needed. + +5. **Commit Your Changes:** + Use clear and descriptive commit messages (see Commit Message Guidelines). + +6. **Open a Pull Request:** + Submit a pull request (PR) with a clear title and description outlining your changes, and reference any related issues. + +--- + +## Impressive Contributions & Highlights + +We love to see innovative and creative solutions! This section is dedicated to showcasing impressive contributions that go beyond the daily task: + +- **What to Share:** + - **Enhanced Solutions:** Share optimized, creative, or particularly elegant approaches to LeetCode problems. + - **Detailed Explanations:** Provide in-depth explanations and insights that help others understand your reasoning. + - **Additional Context:** Include performance comparisons, alternative methods, or advanced techniques. + +- **How to Get Recognized:** + The first contributor to submit an impressive solution for a given challenge will have their name highlighted in this section. For example: + ```md + **Impressive Contribution by:** @username + ``` + To be recognized, please send an email with your GitHub username and Gmail address to **optimismeducator@gmail.com**. This helps us track and celebrate innovative contributions. + +- **Discussion:** + Engage with others by discussing alternative approaches or asking questions in the issue tracker or PR comments. Your input can help refine the solution and inspire further improvements. + +*Feel free to update this section with new highlights, alternative methods, or breakthrough approaches that push the boundaries of problem-solving.* + +--- + +## Contributor Recognition Process + +- **How It Works:** + Exceptional contributions are recognized to encourage innovative thinking. + +- **Steps to Get Recognized:** + 1. Submit your solution via a PR. + 2. Once your PR is merged, send an email with your GitHub username and Gmail address to **optimismeducator@gmail.com**. + 3. Your details will be added to the "Impressive Contributions & Highlights" section for that challenge. + +This process helps build an active community and rewards creativity and excellence. + +--- + +## Share Your Thoughts + +We welcome your feedback and ideas! +- **Questions & Suggestions:** Open an issue or start a discussion if you have ideas for improvements, new challenges, or if you need help. +- **Solution Explanations:** Share your approach and insights to help others understand the problem better. +- **Improvements:** If you see a more efficient or elegant solution, feel free to contribute your version. + +--- + +## Issue Reporting + +- **Found a Bug or Have a Suggestion?** + Open a new issue on GitHub with a descriptive title and details on how to reproduce the problem or suggest improvements. +- **Include the Following Information:** + - A clear explanation of the issue. + - Steps to reproduce the problem. + - Environment details if applicable (e.g., OS, specific LeetCode problem IDs). + +--- + +## Pull Request Process + +1. **Ensure Tests Pass:** + Verify that your changes pass all existing tests. If you’re adding new functionality, please include corresponding tests. + +2. **Provide a Descriptive Title:** + Your PR title should succinctly describe your changes (e.g., "Add optimized solution for Two Sum challenge"). + +3. **Detailed Description:** + In your PR, include: + - The purpose of your changes. + - Instructions on how to test your changes. + - Additional context, screenshots, or references to related issues. + - If you're submitting an impressive solution, include a note so we can update the recognition section. + +4. **Review & Feedback:** + Your PR will be reviewed by the maintainers. Please address any feedback or requested changes promptly. + +--- + +## Coding Guidelines + +- **Consistent Formatting:** + Follow the repository’s established style for code formatting, naming conventions, and folder structure. + +- **Comment Your Code:** + Provide clear comments explaining your logic, especially for complex solutions. + +- **Efficiency and Readability:** + Ensure your solutions are optimized for performance and are easy to understand. + +- **Documentation:** + Update or add documentation if your changes affect existing functionality. + +--- + +## Commit Message Guidelines + +- **Short & Descriptive:** + The first line of your commit message should be a brief summary (50 characters or less). + +- **Imperative Mood:** + Use the imperative mood (e.g., "Add", "Fix", "Update"). + +- **Detailed Description:** + If necessary, include a detailed description after the first line, separated by a blank line. + +Example: +```txt +Add solution for Two Sum problem + +This commit introduces an optimized solution for the Two Sum problem, along with test cases and documentation. +``` + +--- + +## Acknowledgments + +Thank you for contributing to **LeetCode_Daily_Task**! +Your help and commitment make this project a valuable resource for the community. If you have any questions or need further assistance, feel free to open an issue or contact the maintainers. + +> ## Happy coding and happy LeetCoding! 🚀 From d3e46a0cc3c67cd47cbbf4780aa9a8be7d344892 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 24 Mar 2025 15:06:06 +0530 Subject: [PATCH 076/353] Update CONTTRIBUTE.MD --- CONTTRIBUTE.MD | 2 -- 1 file changed, 2 deletions(-) diff --git a/CONTTRIBUTE.MD b/CONTTRIBUTE.MD index 7bc5c5c..7a1832c 100644 --- a/CONTTRIBUTE.MD +++ b/CONTTRIBUTE.MD @@ -68,7 +68,6 @@ We love to see innovative and creative solutions! This section is dedicated to s - **Discussion:** Engage with others by discussing alternative approaches or asking questions in the issue tracker or PR comments. Your input can help refine the solution and inspire further improvements. -*Feel free to update this section with new highlights, alternative methods, or breakthrough approaches that push the boundaries of problem-solving.* --- @@ -82,7 +81,6 @@ We love to see innovative and creative solutions! This section is dedicated to s 2. Once your PR is merged, send an email with your GitHub username and Gmail address to **optimismeducator@gmail.com**. 3. Your details will be added to the "Impressive Contributions & Highlights" section for that challenge. -This process helps build an active community and rewards creativity and excellence. --- From 24c319947fb775b3bde3bd0681bdc261b58c82fd Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 24 Mar 2025 15:07:33 +0530 Subject: [PATCH 077/353] Delete contributing.md --- contributing.md | 1 - 1 file changed, 1 deletion(-) delete mode 100644 contributing.md diff --git a/contributing.md b/contributing.md deleted file mode 100644 index 65c67f9..0000000 --- a/contributing.md +++ /dev/null @@ -1 +0,0 @@ -# Contribute everyone From 15b0a872eaba6a94acda0d7bf59e9c097f9033db Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 24 Mar 2025 15:12:47 +0530 Subject: [PATCH 078/353] adding bedge --- README.md | 2 ++ img/sql 50.gif | Bin 0 -> 1036362 bytes 2 files changed, 2 insertions(+) create mode 100644 img/sql 50.gif diff --git a/README.md b/README.md index 3696c07..9c7ff2d 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,8 @@ Problem 3: Description of the problem and the SQL solution. Feel free to fork this repository, suggest improvements, or submit your own solutions via pull requests. Let's learn and grow together! +## Solved LeetCode SQL 50 Question + ### Progress 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜⬜⬜⬜⬜ 75% diff --git a/img/sql 50.gif b/img/sql 50.gif new file mode 100644 index 0000000000000000000000000000000000000000..f225cd896fe133fd0654950b4358ab4bad03eb00 GIT binary patch literal 1036362 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

1%7OOnscgi;u=TN#WED{4J_RK>BxNZDz>PPB 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"&2h6vs$aDNWvWAO(oeXsAiuPyEr*FLN2Znn#Y#M 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�@9JwsF`r?0|6#24 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

DVG>I_$G>!Yz?Dq!4RINK^g#l=ZhHY_>y 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

R~nw2OZ!2}^oEMN2$Y>ohDTZ1^dGtL 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 Date: Mon, 24 Mar 2025 15:17:05 +0530 Subject: [PATCH 079/353] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9c7ff2d..1c7497f 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,7 @@ Problem 3: Description of the problem and the SQL solution. Feel free to fork this repository, suggest improvements, or submit your own solutions via pull requests. Let's learn and grow together! ## Solved LeetCode SQL 50 Question + ### Progress From e03ed1e0ad6f903ca3aaba2f2455b03c87f9cf18 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 24 Mar 2025 15:18:59 +0530 Subject: [PATCH 080/353] adding qr --- README.md | 1 + img/sql50.png | Bin 0 -> 5915 bytes 2 files changed, 1 insertion(+) create mode 100644 img/sql50.png diff --git a/README.md b/README.md index 1c7497f..842b454 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ Feel free to fork this repository, suggest improvements, or submit your own solu ## Solved LeetCode SQL 50 Question + ### Progress 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜⬜⬜⬜⬜ 75% diff --git a/img/sql50.png b/img/sql50.png new file mode 100644 index 0000000000000000000000000000000000000000..e41216c47784e8fe2904c9263bc7b24cff2ab854 GIT binary patch literal 5915 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 Z7-7diyR*J8_~@--b@u$3Jd3Zs{Wsj-{Bi&Q literal 0 HcmV?d00001 From f0bb144573b2a982708cb25ec887b96199f457ef Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 24 Mar 2025 15:20:11 +0530 Subject: [PATCH 081/353] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 842b454..52adbb5 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ Feel free to fork this repository, suggest improvements, or submit your own solu ## Solved LeetCode SQL 50 Question - + ### Progress 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜⬜⬜⬜⬜ 75% From 3cbd51109dfd711fe08e2ac7e43c0b7821918112 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:24:34 +0530 Subject: [PATCH 082/353] ciorrect --- .../176. Second Highest Salary.SQL | 0 .../176. Second heighest salary.sql | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 176. Second heighest salary}/176. Second Highest Salary.SQL (100%) rename LeetCode SQL 50 Solution/{ => 176. Second heighest salary}/176. Second heighest salary.sql (100%) diff --git a/LeetCode SQL 50 Solution/176. Second Highest Salary.SQL b/LeetCode SQL 50 Solution/176. Second heighest salary/176. Second Highest Salary.SQL similarity index 100% rename from LeetCode SQL 50 Solution/176. Second Highest Salary.SQL rename to LeetCode SQL 50 Solution/176. Second heighest salary/176. Second Highest Salary.SQL diff --git a/LeetCode SQL 50 Solution/176. Second heighest salary.sql b/LeetCode SQL 50 Solution/176. Second heighest salary/176. Second heighest salary.sql similarity index 100% rename from LeetCode SQL 50 Solution/176. Second heighest salary.sql rename to LeetCode SQL 50 Solution/176. Second heighest salary/176. Second heighest salary.sql From c692400846ed9708862228b9235d1ea6ab4658fd Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:26:15 +0530 Subject: [PATCH 083/353] 196. Delete Duplicate Emails --- .../{ => 177. Nth Highest Salary}/177. Nth Highest Salary.sql | 0 .../{ => 180. Consecutive Numbers}/180. Consecutive Numbers.sql | 0 .../185. Department Top Three Salaries.md | 0 .../185. Department Top Three Salaries.sql | 0 .../196. Delete Duplicate Emails.sql | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 177. Nth Highest Salary}/177. Nth Highest Salary.sql (100%) rename LeetCode SQL 50 Solution/{ => 180. Consecutive Numbers}/180. Consecutive Numbers.sql (100%) rename LeetCode SQL 50 Solution/{ => 185. Department Top Three Salaries}/185. Department Top Three Salaries.md (100%) rename LeetCode SQL 50 Solution/{ => 185. Department Top Three Salaries}/185. Department Top Three Salaries.sql (100%) rename LeetCode SQL 50 Solution/{ => 196. Delete Duplicate Emails}/196. Delete Duplicate Emails.sql (100%) diff --git a/LeetCode SQL 50 Solution/177. Nth Highest Salary.sql b/LeetCode SQL 50 Solution/177. Nth Highest Salary/177. Nth Highest Salary.sql similarity index 100% rename from LeetCode SQL 50 Solution/177. Nth Highest Salary.sql rename to LeetCode SQL 50 Solution/177. Nth Highest Salary/177. Nth Highest Salary.sql diff --git a/LeetCode SQL 50 Solution/180. Consecutive Numbers.sql b/LeetCode SQL 50 Solution/180. Consecutive Numbers/180. Consecutive Numbers.sql similarity index 100% rename from LeetCode SQL 50 Solution/180. Consecutive Numbers.sql rename to LeetCode SQL 50 Solution/180. Consecutive Numbers/180. Consecutive Numbers.sql diff --git a/LeetCode SQL 50 Solution/185. Department Top Three Salaries.md b/LeetCode SQL 50 Solution/185. Department Top Three Salaries/185. Department Top Three Salaries.md similarity index 100% rename from LeetCode SQL 50 Solution/185. Department Top Three Salaries.md rename to LeetCode SQL 50 Solution/185. Department Top Three Salaries/185. Department Top Three Salaries.md diff --git a/LeetCode SQL 50 Solution/185. Department Top Three Salaries.sql b/LeetCode SQL 50 Solution/185. Department Top Three Salaries/185. Department Top Three Salaries.sql similarity index 100% rename from LeetCode SQL 50 Solution/185. Department Top Three Salaries.sql rename to LeetCode SQL 50 Solution/185. Department Top Three Salaries/185. Department Top Three Salaries.sql diff --git a/LeetCode SQL 50 Solution/196. Delete Duplicate Emails.sql b/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/196. Delete Duplicate Emails.sql similarity index 100% rename from LeetCode SQL 50 Solution/196. Delete Duplicate Emails.sql rename to LeetCode SQL 50 Solution/196. Delete Duplicate Emails/196. Delete Duplicate Emails.sql From ba98d4bb5e2ae8edbd1cfdc27356c12afc6339b0 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:26:45 +0530 Subject: [PATCH 084/353] 550. Game Play Analysis IV --- .../550. Game Play Analysis IV.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 550. Game Play Analysis IV}/550. Game Play Analysis IV.sql (100%) diff --git a/LeetCode SQL 50 Solution/550. Game Play Analysis IV.sql b/LeetCode SQL 50 Solution/550. Game Play Analysis IV/550. Game Play Analysis IV.sql similarity index 100% rename from LeetCode SQL 50 Solution/550. Game Play Analysis IV.sql rename to LeetCode SQL 50 Solution/550. Game Play Analysis IV/550. Game Play Analysis IV.sql From bdc6475aa08211092532eb6f6457d6f3701dd879 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:27:08 +0530 Subject: [PATCH 085/353] 570. Managers with at Least 5 Direct Reports --- .../570. Managers with at Least 5 Direct Reports.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 570. Managers with at Least 5 Direct Reports}/570. Managers with at Least 5 Direct Reports.sql (100%) diff --git a/LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports.sql b/LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports/570. Managers with at Least 5 Direct Reports.sql similarity index 100% rename from LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports.sql rename to LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports/570. Managers with at Least 5 Direct Reports.sql From c52704aa0c97dcd47e9e586f2d903e6c929b4821 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:27:26 +0530 Subject: [PATCH 086/353] 584. Find Customer Referee --- .../584. Find Customer Referee.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 584. Find Customer Referee}/584. Find Customer Referee.sql (100%) diff --git a/LeetCode SQL 50 Solution/584. Find Customer Referee.sql b/LeetCode SQL 50 Solution/584. Find Customer Referee/584. Find Customer Referee.sql similarity index 100% rename from LeetCode SQL 50 Solution/584. Find Customer Referee.sql rename to LeetCode SQL 50 Solution/584. Find Customer Referee/584. Find Customer Referee.sql From 1ddb9babb2e580609e034a38248d16fff4e4407e Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:27:43 +0530 Subject: [PATCH 087/353] 585. Investments in 2016 --- .../{ => 585. Investments in 2016}/585. Investments in 2016.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 585. Investments in 2016}/585. Investments in 2016.sql (100%) diff --git a/LeetCode SQL 50 Solution/585. Investments in 2016.sql b/LeetCode SQL 50 Solution/585. Investments in 2016/585. Investments in 2016.sql similarity index 100% rename from LeetCode SQL 50 Solution/585. Investments in 2016.sql rename to LeetCode SQL 50 Solution/585. Investments in 2016/585. Investments in 2016.sql From 41c4fd691e6b1acb342ade3d7f56d2cc7c248ec7 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:28:10 +0530 Subject: [PATCH 088/353] 595. Big Countries --- .../{ => 595. Big Countries}/595. Big Countries.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 595. Big Countries}/595. Big Countries.sql (100%) diff --git a/LeetCode SQL 50 Solution/595. Big Countries.sql b/LeetCode SQL 50 Solution/595. Big Countries/595. Big Countries.sql similarity index 100% rename from LeetCode SQL 50 Solution/595. Big Countries.sql rename to LeetCode SQL 50 Solution/595. Big Countries/595. Big Countries.sql From 26b188c583a58783eca0ef73459b54c498b621e0 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:28:30 +0530 Subject: [PATCH 089/353] 596. Classes More Than 5 Students --- .../596. Classes More Than 5 Students.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 596. Classes More Than 5 Students}/596. Classes More Than 5 Students.sql (100%) diff --git a/LeetCode SQL 50 Solution/596. Classes More Than 5 Students.sql b/LeetCode SQL 50 Solution/596. Classes More Than 5 Students/596. Classes More Than 5 Students.sql similarity index 100% rename from LeetCode SQL 50 Solution/596. Classes More Than 5 Students.sql rename to LeetCode SQL 50 Solution/596. Classes More Than 5 Students/596. Classes More Than 5 Students.sql From 3a6fc991c02d493e4ff8e02e73f6a85d0ada0669 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:28:55 +0530 Subject: [PATCH 090/353] 602. Friend Requests II --- .../{ => 602. Friend Requests II}/602. Friend Requests II.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 602. Friend Requests II}/602. Friend Requests II.sql (100%) diff --git a/LeetCode SQL 50 Solution/602. Friend Requests II.sql b/LeetCode SQL 50 Solution/602. Friend Requests II/602. Friend Requests II.sql similarity index 100% rename from LeetCode SQL 50 Solution/602. Friend Requests II.sql rename to LeetCode SQL 50 Solution/602. Friend Requests II/602. Friend Requests II.sql From 6ed46c5dd44c0eec2538f4516337a7cd4dc6bf79 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:29:10 +0530 Subject: [PATCH 091/353] 610. Triangle Judgement --- .../{ => 610. Triangle Judgement}/610. Triangle Judgement.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 610. Triangle Judgement}/610. Triangle Judgement.sql (100%) diff --git a/LeetCode SQL 50 Solution/610. Triangle Judgement.sql b/LeetCode SQL 50 Solution/610. Triangle Judgement/610. Triangle Judgement.sql similarity index 100% rename from LeetCode SQL 50 Solution/610. Triangle Judgement.sql rename to LeetCode SQL 50 Solution/610. Triangle Judgement/610. Triangle Judgement.sql From b3cfa2484188d1a410f6040530cf362b7c2f76ee Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:29:46 +0530 Subject: [PATCH 092/353] 619. Biggest Single Number --- .../619. Biggest Single Number.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 619. Biggest Single Number}/619. Biggest Single Number.sql (100%) diff --git a/LeetCode SQL 50 Solution/619. Biggest Single Number.sql b/LeetCode SQL 50 Solution/619. Biggest Single Number/619. Biggest Single Number.sql similarity index 100% rename from LeetCode SQL 50 Solution/619. Biggest Single Number.sql rename to LeetCode SQL 50 Solution/619. Biggest Single Number/619. Biggest Single Number.sql From 5f6201bf7f5555e489c20669263b7d454db8e768 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:30:04 +0530 Subject: [PATCH 093/353] 620. Not Boring Movies --- .../{ => 620. Not Boring Movies}/620. Not Boring Movies.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 620. Not Boring Movies}/620. Not Boring Movies.sql (100%) diff --git a/LeetCode SQL 50 Solution/620. Not Boring Movies.sql b/LeetCode SQL 50 Solution/620. Not Boring Movies/620. Not Boring Movies.sql similarity index 100% rename from LeetCode SQL 50 Solution/620. Not Boring Movies.sql rename to LeetCode SQL 50 Solution/620. Not Boring Movies/620. Not Boring Movies.sql From da212c2f906781802ad567c8f231f25a19bcbf74 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:30:22 +0530 Subject: [PATCH 094/353] 626. Exchange Seats --- .../{ => 626. Exchange Seats}/626. Exchange Seats.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 626. Exchange Seats}/626. Exchange Seats.sql (100%) diff --git a/LeetCode SQL 50 Solution/626. Exchange Seats.sql b/LeetCode SQL 50 Solution/626. Exchange Seats/626. Exchange Seats.sql similarity index 100% rename from LeetCode SQL 50 Solution/626. Exchange Seats.sql rename to LeetCode SQL 50 Solution/626. Exchange Seats/626. Exchange Seats.sql From 471673ddabfcca048c03895c4a743d81ff6ac4a5 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:30:39 +0530 Subject: [PATCH 095/353] 1045. Customers Who Bought All Products --- .../1045. Customers Who Bought All Products.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1045. Customers Who Bought All Products}/1045. Customers Who Bought All Products.sql (100%) diff --git a/LeetCode SQL 50 Solution/1045. Customers Who Bought All Products.sql b/LeetCode SQL 50 Solution/1045. Customers Who Bought All Products/1045. Customers Who Bought All Products.sql similarity index 100% rename from LeetCode SQL 50 Solution/1045. Customers Who Bought All Products.sql rename to LeetCode SQL 50 Solution/1045. Customers Who Bought All Products/1045. Customers Who Bought All Products.sql From 621b0b670faeaffd96dadace43467c62d602b764 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:30:57 +0530 Subject: [PATCH 096/353] 1068. Product Sales Analysis I --- .../1068. Product Sales Analysis I.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1068. Product Sales Analysis I}/1068. Product Sales Analysis I.sql (100%) diff --git a/LeetCode SQL 50 Solution/1068. Product Sales Analysis I.sql b/LeetCode SQL 50 Solution/1068. Product Sales Analysis I/1068. Product Sales Analysis I.sql similarity index 100% rename from LeetCode SQL 50 Solution/1068. Product Sales Analysis I.sql rename to LeetCode SQL 50 Solution/1068. Product Sales Analysis I/1068. Product Sales Analysis I.sql From 16bf314755868598c2a2f62019164303e38c0768 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:31:18 +0530 Subject: [PATCH 097/353] 1070. Product Sales Analysis III --- .../1070. Product Sales Analysis III.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1070. Product Sales Analysis III}/1070. Product Sales Analysis III.sql (100%) diff --git a/LeetCode SQL 50 Solution/1070. Product Sales Analysis III.sql b/LeetCode SQL 50 Solution/1070. Product Sales Analysis III/1070. Product Sales Analysis III.sql similarity index 100% rename from LeetCode SQL 50 Solution/1070. Product Sales Analysis III.sql rename to LeetCode SQL 50 Solution/1070. Product Sales Analysis III/1070. Product Sales Analysis III.sql From 1a3d1b1e3b29f10446f1465cfff08de3b3601323 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:31:55 +0530 Subject: [PATCH 098/353] 1075. Project Employees I --- .../{ => 1075. Project Employees I}/1075. Project Employees I.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1075. Project Employees I}/1075. Project Employees I.sql (100%) diff --git a/LeetCode SQL 50 Solution/1075. Project Employees I.sql b/LeetCode SQL 50 Solution/1075. Project Employees I/1075. Project Employees I.sql similarity index 100% rename from LeetCode SQL 50 Solution/1075. Project Employees I.sql rename to LeetCode SQL 50 Solution/1075. Project Employees I/1075. Project Employees I.sql From 16070d792052b80c4538d07c76e7a85a152310d2 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:32:10 +0530 Subject: [PATCH 099/353] 1141. User Activity for the Past 30 Days I --- .../1141. User Activity for the Past 30 Days I.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1141. User Activity for the Past 30 Days I}/1141. User Activity for the Past 30 Days I.sql (100%) diff --git a/LeetCode SQL 50 Solution/1141. User Activity for the Past 30 Days I.sql b/LeetCode SQL 50 Solution/1141. User Activity for the Past 30 Days I/1141. User Activity for the Past 30 Days I.sql similarity index 100% rename from LeetCode SQL 50 Solution/1141. User Activity for the Past 30 Days I.sql rename to LeetCode SQL 50 Solution/1141. User Activity for the Past 30 Days I/1141. User Activity for the Past 30 Days I.sql From 523a5331d946e64f9eff8578e5336915477b984a Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:32:31 +0530 Subject: [PATCH 100/353] 1148. Article Views I --- .../{ => 1148. Article Views I}/1148. Article Views I.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1148. Article Views I}/1148. Article Views I.sql (100%) diff --git a/LeetCode SQL 50 Solution/1148. Article Views I.sql b/LeetCode SQL 50 Solution/1148. Article Views I/1148. Article Views I.sql similarity index 100% rename from LeetCode SQL 50 Solution/1148. Article Views I.sql rename to LeetCode SQL 50 Solution/1148. Article Views I/1148. Article Views I.sql From b96686420c3bb2c177c4d0f81eae91e0d41eca62 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:32:44 +0530 Subject: [PATCH 101/353] 1164. Product Price at a Given Date --- .../1164. Product Price at a Given Date.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1164. Product Price at a Given Date}/1164. Product Price at a Given Date.sql (100%) diff --git a/LeetCode SQL 50 Solution/1164. Product Price at a Given Date.sql b/LeetCode SQL 50 Solution/1164. Product Price at a Given Date/1164. Product Price at a Given Date.sql similarity index 100% rename from LeetCode SQL 50 Solution/1164. Product Price at a Given Date.sql rename to LeetCode SQL 50 Solution/1164. Product Price at a Given Date/1164. Product Price at a Given Date.sql From 1d2291d6bb822d7a32fbb1add4c7d9e98a20af92 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:33:37 +0530 Subject: [PATCH 102/353] 1174. Immediate Food Delivery II --- .../1174. Immediate Food Delivery II.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1174. Immediate Food Delivery II}/1174. Immediate Food Delivery II.sql (100%) diff --git a/LeetCode SQL 50 Solution/1174. Immediate Food Delivery II.sql b/LeetCode SQL 50 Solution/1174. Immediate Food Delivery II/1174. Immediate Food Delivery II.sql similarity index 100% rename from LeetCode SQL 50 Solution/1174. Immediate Food Delivery II.sql rename to LeetCode SQL 50 Solution/1174. Immediate Food Delivery II/1174. Immediate Food Delivery II.sql From 457656916825a47f2ad440f6940625ffc8ea8efb Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:34:01 +0530 Subject: [PATCH 103/353] Update 185. Department Top Three Salaries.md --- .../185. Department Top Three Salaries.md | 1 + 1 file changed, 1 insertion(+) diff --git a/LeetCode SQL 50 Solution/185. Department Top Three Salaries/185. Department Top Three Salaries.md b/LeetCode SQL 50 Solution/185. Department Top Three Salaries/185. Department Top Three Salaries.md index 3b15680..289efac 100644 --- a/LeetCode SQL 50 Solution/185. Department Top Three Salaries/185. Department Top Three Salaries.md +++ b/LeetCode SQL 50 Solution/185. Department Top Three Salaries/185. Department Top Three Salaries.md @@ -96,6 +96,7 @@ There are no employees with the exact same name, salary and department. ## Solution + ```MySQL # Write your MySQL query statement below SELECT d.Name as Department, From 72eb145ec8a7db27733f94136131009c7f17b9ff Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:44:39 +0530 Subject: [PATCH 104/353] 1193. Monthly Transactions I --- .../1193. Monthly Transactions I.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1193. Monthly Transactions I}/1193. Monthly Transactions I.sql (100%) diff --git a/LeetCode SQL 50 Solution/1193. Monthly Transactions I.sql b/LeetCode SQL 50 Solution/1193. Monthly Transactions I/1193. Monthly Transactions I.sql similarity index 100% rename from LeetCode SQL 50 Solution/1193. Monthly Transactions I.sql rename to LeetCode SQL 50 Solution/1193. Monthly Transactions I/1193. Monthly Transactions I.sql From 57dc5dd63e131525dc1a7a933c694f4e515af915 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:45:05 +0530 Subject: [PATCH 105/353] 1204. Last Person to Fit in the Bus --- .../1204. Last Person to Fit in the Bus.md | 0 .../1204. Last Person to Fit in the Bus.sql | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1204. Last Person to Fit in the Bus}/1204. Last Person to Fit in the Bus.md (100%) rename LeetCode SQL 50 Solution/{ => 1204. Last Person to Fit in the Bus}/1204. Last Person to Fit in the Bus.sql (100%) diff --git a/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.md b/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus/1204. Last Person to Fit in the Bus.md similarity index 100% rename from LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.md rename to LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus/1204. Last Person to Fit in the Bus.md diff --git a/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.sql b/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus/1204. Last Person to Fit in the Bus.sql similarity index 100% rename from LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus.sql rename to LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus/1204. Last Person to Fit in the Bus.sql From 7639c27108650d6ba42f3343403ed18622d60147 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:45:23 +0530 Subject: [PATCH 106/353] 1211. Queries Quality and Percentage --- .../1211. Queries Quality and Percentage.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1211. Queries Quality and Percentage}/1211. Queries Quality and Percentage.sql (100%) diff --git a/LeetCode SQL 50 Solution/1211. Queries Quality and Percentage.sql b/LeetCode SQL 50 Solution/1211. Queries Quality and Percentage/1211. Queries Quality and Percentage.sql similarity index 100% rename from LeetCode SQL 50 Solution/1211. Queries Quality and Percentage.sql rename to LeetCode SQL 50 Solution/1211. Queries Quality and Percentage/1211. Queries Quality and Percentage.sql From 22f146c559b77b8244be3b71ca5f4c6e27412142 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:45:42 +0530 Subject: [PATCH 107/353] 1251. Average Selling Price --- .../1251. Average Selling Price.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1251. Average Selling Price}/1251. Average Selling Price.sql (100%) diff --git a/LeetCode SQL 50 Solution/1251. Average Selling Price.sql b/LeetCode SQL 50 Solution/1251. Average Selling Price/1251. Average Selling Price.sql similarity index 100% rename from LeetCode SQL 50 Solution/1251. Average Selling Price.sql rename to LeetCode SQL 50 Solution/1251. Average Selling Price/1251. Average Selling Price.sql From eb471215421a2b88c821d9056b220f5b89acd3d6 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:46:00 +0530 Subject: [PATCH 108/353] 1280. Students and Examinations --- .../1280. Students and Examinations.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1280. Students and Examinations}/1280. Students and Examinations.sql (100%) diff --git a/LeetCode SQL 50 Solution/1280. Students and Examinations.sql b/LeetCode SQL 50 Solution/1280. Students and Examinations/1280. Students and Examinations.sql similarity index 100% rename from LeetCode SQL 50 Solution/1280. Students and Examinations.sql rename to LeetCode SQL 50 Solution/1280. Students and Examinations/1280. Students and Examinations.sql From a01a6509b21bd5df6dd748ae0486cb56b70afd58 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:46:33 +0530 Subject: [PATCH 109/353] 1321. Restaurant Growth --- .../{ => 1321. Restaurant Growth}/1321. Restaurant Growth.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1321. Restaurant Growth}/1321. Restaurant Growth.sql (100%) diff --git a/LeetCode SQL 50 Solution/1321. Restaurant Growth.sql b/LeetCode SQL 50 Solution/1321. Restaurant Growth/1321. Restaurant Growth.sql similarity index 100% rename from LeetCode SQL 50 Solution/1321. Restaurant Growth.sql rename to LeetCode SQL 50 Solution/1321. Restaurant Growth/1321. Restaurant Growth.sql From a5882cbfab4c8d0e50b115b31c10bca2b249aa17 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:47:01 +0530 Subject: [PATCH 110/353] 1327. List the Products Ordered in a Period --- .../1327. List the Products Ordered in a Period.SQL | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1327. List the Products Ordered in a Period}/1327. List the Products Ordered in a Period.SQL (100%) diff --git a/LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period.SQL b/LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period/1327. List the Products Ordered in a Period.SQL similarity index 100% rename from LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period.SQL rename to LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period/1327. List the Products Ordered in a Period.SQL From f454b831bce8173c79432b87e9e53ee21ad58bb4 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:47:22 +0530 Subject: [PATCH 111/353] 1341. Movie Rating --- .../{ => 1341. Movie Rating}/1341. Movie Rating.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1341. Movie Rating}/1341. Movie Rating.sql (100%) diff --git a/LeetCode SQL 50 Solution/1341. Movie Rating.sql b/LeetCode SQL 50 Solution/1341. Movie Rating/1341. Movie Rating.sql similarity index 100% rename from LeetCode SQL 50 Solution/1341. Movie Rating.sql rename to LeetCode SQL 50 Solution/1341. Movie Rating/1341. Movie Rating.sql From caad5d1cd5e2cafc2978bd95500d76c17e6e6836 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:47:48 +0530 Subject: [PATCH 112/353] 1378. Replace Employee ID With The Unique Identifier --- .../1378. Replace Employee ID With The Unique Identifier.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1378. Replace Employee ID With The Unique Identifier}/1378. Replace Employee ID With The Unique Identifier.sql (100%) diff --git a/LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier.sql b/LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier/1378. Replace Employee ID With The Unique Identifier.sql similarity index 100% rename from LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier.sql rename to LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier/1378. Replace Employee ID With The Unique Identifier.sql From 4cc5918220a1ddf88f9de4bc68f45374f5e96792 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:48:10 +0530 Subject: [PATCH 113/353] 1484. Group Sold Products By The Date --- .../1484. Group Sold Products By The Date.SQL | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1484. Group Sold Products By The Date}/1484. Group Sold Products By The Date.SQL (100%) diff --git a/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date.SQL b/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date/1484. Group Sold Products By The Date.SQL similarity index 100% rename from LeetCode SQL 50 Solution/1484. Group Sold Products By The Date.SQL rename to LeetCode SQL 50 Solution/1484. Group Sold Products By The Date/1484. Group Sold Products By The Date.SQL From f864fbf0e9bcccc15af725dfbd8860b39bfe923a Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:49:41 +0530 Subject: [PATCH 114/353] 1517. Find Users With Valid E-Mails --- .../1517. Find Users With Valid E-Mails.SQL | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1517. Find Users With Valid E-Mails}/1517. Find Users With Valid E-Mails.SQL (100%) diff --git a/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails.SQL b/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails/1517. Find Users With Valid E-Mails.SQL similarity index 100% rename from LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails.SQL rename to LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails/1517. Find Users With Valid E-Mails.SQL From f63fa77f6d5215dd4f873522cc9a69e62ad96d3c Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:49:56 +0530 Subject: [PATCH 115/353] 1527. Patients With a Condition --- .../1527. Patients With a Condition.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1527. Patients With a Condition}/1527. Patients With a Condition.sql (100%) diff --git a/LeetCode SQL 50 Solution/1527. Patients With a Condition.sql b/LeetCode SQL 50 Solution/1527. Patients With a Condition/1527. Patients With a Condition.sql similarity index 100% rename from LeetCode SQL 50 Solution/1527. Patients With a Condition.sql rename to LeetCode SQL 50 Solution/1527. Patients With a Condition/1527. Patients With a Condition.sql From 963bf2f772ca68f1762b534189536f29b232be2d Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:50:16 +0530 Subject: [PATCH 116/353] 1633. Percentage of Users Attended a Contest --- .../1633. Percentage of Users Attended a Contest.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1633. Percentage of Users Attended a Contest}/1633. Percentage of Users Attended a Contest.sql (100%) diff --git a/LeetCode SQL 50 Solution/1633. Percentage of Users Attended a Contest.sql b/LeetCode SQL 50 Solution/1633. Percentage of Users Attended a Contest/1633. Percentage of Users Attended a Contest.sql similarity index 100% rename from LeetCode SQL 50 Solution/1633. Percentage of Users Attended a Contest.sql rename to LeetCode SQL 50 Solution/1633. Percentage of Users Attended a Contest/1633. Percentage of Users Attended a Contest.sql From 6fd557e187e6a3f2af0ed1925fb0eb14aa7ed230 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:50:34 +0530 Subject: [PATCH 117/353] 1667. Fix Names in a Table --- .../1667. Fix Names in a Table.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1667. Fix Names in a Table}/1667. Fix Names in a Table.sql (100%) diff --git a/LeetCode SQL 50 Solution/1667. Fix Names in a Table.sql b/LeetCode SQL 50 Solution/1667. Fix Names in a Table/1667. Fix Names in a Table.sql similarity index 100% rename from LeetCode SQL 50 Solution/1667. Fix Names in a Table.sql rename to LeetCode SQL 50 Solution/1667. Fix Names in a Table/1667. Fix Names in a Table.sql From 96957b074b6590f844a0f64e43683b7a4149d237 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:51:03 +0530 Subject: [PATCH 118/353] 1683. Invalid Tweets --- .../{ => 1683. Invalid Tweets}/1683. Invalid Tweets.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1683. Invalid Tweets}/1683. Invalid Tweets.sql (100%) diff --git a/LeetCode SQL 50 Solution/1683. Invalid Tweets.sql b/LeetCode SQL 50 Solution/1683. Invalid Tweets/1683. Invalid Tweets.sql similarity index 100% rename from LeetCode SQL 50 Solution/1683. Invalid Tweets.sql rename to LeetCode SQL 50 Solution/1683. Invalid Tweets/1683. Invalid Tweets.sql From 20606e3bde6b25bc149ec474d9981f8942376ad8 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:52:37 +0530 Subject: [PATCH 119/353] 1729. Find Followers Count --- .../1729. Find Followers Count.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1729. Find Followers Count}/1729. Find Followers Count.sql (100%) diff --git a/LeetCode SQL 50 Solution/1729. Find Followers Count.sql b/LeetCode SQL 50 Solution/1729. Find Followers Count/1729. Find Followers Count.sql similarity index 100% rename from LeetCode SQL 50 Solution/1729. Find Followers Count.sql rename to LeetCode SQL 50 Solution/1729. Find Followers Count/1729. Find Followers Count.sql From 716dc8af0a341c3bc7a210ec74cbd68ff990f5fc Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:52:55 +0530 Subject: [PATCH 120/353] 1731. The Number of Employees Which Report to Each Employee --- ...731. The Number of Employees Which Report to Each Employee.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1731. The Number of Employees Which Report to Each Employee}/1731. The Number of Employees Which Report to Each Employee.sql (100%) diff --git a/LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee.sql b/LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee/1731. The Number of Employees Which Report to Each Employee.sql similarity index 100% rename from LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee.sql rename to LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee/1731. The Number of Employees Which Report to Each Employee.sql From 1f3aa265de16d53221cd3b8a2de81c81019ccc9d Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:53:13 +0530 Subject: [PATCH 121/353] 1757. Recyclable and Low Fat Products --- .../1757. Recyclable and Low Fat Products.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1757. Recyclable and Low Fat Products}/1757. Recyclable and Low Fat Products.sql (100%) diff --git a/LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products.sql b/LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products/1757. Recyclable and Low Fat Products.sql similarity index 100% rename from LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products.sql rename to LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products/1757. Recyclable and Low Fat Products.sql From 694081c889347df89b673792830e8f375cfac4fe Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:53:32 +0530 Subject: [PATCH 122/353] 1789. Primary Department for Each Employee --- .../1789. Primary Department for Each Employee.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1789. Primary Department for Each Employee}/1789. Primary Department for Each Employee.sql (100%) diff --git a/LeetCode SQL 50 Solution/1789. Primary Department for Each Employee.sql b/LeetCode SQL 50 Solution/1789. Primary Department for Each Employee/1789. Primary Department for Each Employee.sql similarity index 100% rename from LeetCode SQL 50 Solution/1789. Primary Department for Each Employee.sql rename to LeetCode SQL 50 Solution/1789. Primary Department for Each Employee/1789. Primary Department for Each Employee.sql From 9215f645814f77208f29f403ff734374de376fe1 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:53:49 +0530 Subject: [PATCH 123/353] 1907. Count Salary Categories --- .../1907. Count Salary Categories.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1907. Count Salary Categories}/1907. Count Salary Categories.sql (100%) diff --git a/LeetCode SQL 50 Solution/1907. Count Salary Categories.sql b/LeetCode SQL 50 Solution/1907. Count Salary Categories/1907. Count Salary Categories.sql similarity index 100% rename from LeetCode SQL 50 Solution/1907. Count Salary Categories.sql rename to LeetCode SQL 50 Solution/1907. Count Salary Categories/1907. Count Salary Categories.sql From 32528a9106bbaf0ffa24998aff8421797beb379f Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:54:25 +0530 Subject: [PATCH 124/353] 1978. Employees Whose Manager Left the Company --- .../{ => 1934. Confirmation Rate}/1934. Confirmation Rate.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1934. Confirmation Rate}/1934. Confirmation Rate.sql (100%) diff --git a/LeetCode SQL 50 Solution/1934. Confirmation Rate.sql b/LeetCode SQL 50 Solution/1934. Confirmation Rate/1934. Confirmation Rate.sql similarity index 100% rename from LeetCode SQL 50 Solution/1934. Confirmation Rate.sql rename to LeetCode SQL 50 Solution/1934. Confirmation Rate/1934. Confirmation Rate.sql From 7b3921c3c17266ba4a3189aeb2530c114b839ab1 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:54:32 +0530 Subject: [PATCH 125/353] 1978. Employees Whose Manager Left the Company --- .../1978. Employees Whose Manager Left the Company.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 1978. Employees Whose Manager Left the Company}/1978. Employees Whose Manager Left the Company.sql (100%) diff --git a/LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company.sql b/LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company/1978. Employees Whose Manager Left the Company.sql similarity index 100% rename from LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company.sql rename to LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company/1978. Employees Whose Manager Left the Company.sql From 7cb9675727125913416a2864d64e87eda1a560be Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:55:04 +0530 Subject: [PATCH 126/353] prosnal_database --- .../2356. Number of Unique Subjects Taught by Each Teacher.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => 2356. Number of Unique Subjects Taught by Each Teacher}/2356. Number of Unique Subjects Taught by Each Teacher.sql (100%) diff --git a/LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher.sql b/LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher/2356. Number of Unique Subjects Taught by Each Teacher.sql similarity index 100% rename from LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher.sql rename to LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher/2356. Number of Unique Subjects Taught by Each Teacher.sql From 5f35be12ce3a92d1fdc0f1788e08bcc5f634a621 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:55:16 +0530 Subject: [PATCH 127/353] prosnal_database --- .../{ => prosnal_database}/prosnal_database.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{ => prosnal_database}/prosnal_database.sql (100%) diff --git a/LeetCode SQL 50 Solution/prosnal_database.sql b/LeetCode SQL 50 Solution/prosnal_database/prosnal_database.sql similarity index 100% rename from LeetCode SQL 50 Solution/prosnal_database.sql rename to LeetCode SQL 50 Solution/prosnal_database/prosnal_database.sql From 25a9394ed8d07d42324159e70dc4a7e1269e88fb Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 12:04:43 +0530 Subject: [PATCH 128/353] Create 1581. Customer Who Visited but Did Not Make Any Transactions.sql --- ...81. Customer Who Visited but Did Not Make Any Transactions.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/176. Second heighest salary/1581. Customer Who Visited but Did Not Make Any Transactions/1581. Customer Who Visited but Did Not Make Any Transactions.sql diff --git a/LeetCode SQL 50 Solution/176. Second heighest salary/1581. Customer Who Visited but Did Not Make Any Transactions/1581. Customer Who Visited but Did Not Make Any Transactions.sql b/LeetCode SQL 50 Solution/176. Second heighest salary/1581. Customer Who Visited but Did Not Make Any Transactions/1581. Customer Who Visited but Did Not Make Any Transactions.sql new file mode 100644 index 0000000..e69de29 From 618c58a9876366c29ff60feb43657f6995f5e9d2 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 12:04:51 +0530 Subject: [PATCH 129/353] Update 1581. Customer Who Visited but Did Not Make Any Transactions.sql --- ...stomer Who Visited but Did Not Make Any Transactions.sql | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/LeetCode SQL 50 Solution/176. Second heighest salary/1581. Customer Who Visited but Did Not Make Any Transactions/1581. Customer Who Visited but Did Not Make Any Transactions.sql b/LeetCode SQL 50 Solution/176. Second heighest salary/1581. Customer Who Visited but Did Not Make Any Transactions/1581. Customer Who Visited but Did Not Make Any Transactions.sql index e69de29..21b8124 100644 --- a/LeetCode SQL 50 Solution/176. Second heighest salary/1581. Customer Who Visited but Did Not Make Any Transactions/1581. Customer Who Visited but Did Not Make Any Transactions.sql +++ b/LeetCode SQL 50 Solution/176. Second heighest salary/1581. Customer Who Visited but Did Not Make Any Transactions/1581. Customer Who Visited but Did Not Make Any Transactions.sql @@ -0,0 +1,6 @@ +# Write your MySQL query statement below +# Write your MySQL query statement below +SELECT customer_id, COUNT(*) as count_no_trans +FROM Visits +WHERE visit_id NOT IN (SELECT DISTINCT visit_id FROM Transactions) +GROUP BY customer_id; \ No newline at end of file From 91c08fb6444d24c422f86ddcbaeeb4f772fc1030 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 12:05:59 +0530 Subject: [PATCH 130/353] add --- ...81. Customer Who Visited but Did Not Make Any Transactions.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/{176. Second heighest salary => }/1581. Customer Who Visited but Did Not Make Any Transactions/1581. Customer Who Visited but Did Not Make Any Transactions.sql (100%) diff --git a/LeetCode SQL 50 Solution/176. Second heighest salary/1581. Customer Who Visited but Did Not Make Any Transactions/1581. Customer Who Visited but Did Not Make Any Transactions.sql b/LeetCode SQL 50 Solution/1581. Customer Who Visited but Did Not Make Any Transactions/1581. Customer Who Visited but Did Not Make Any Transactions.sql similarity index 100% rename from LeetCode SQL 50 Solution/176. Second heighest salary/1581. Customer Who Visited but Did Not Make Any Transactions/1581. Customer Who Visited but Did Not Make Any Transactions.sql rename to LeetCode SQL 50 Solution/1581. Customer Who Visited but Did Not Make Any Transactions/1581. Customer Who Visited but Did Not Make Any Transactions.sql From e051ba74f5dbefc987825ed0dfd08c254b22ce39 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 12:29:27 +0530 Subject: [PATCH 131/353] Create Rising Temperature.sql --- .../Rising Temperature.sql | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 LeetCode SQL 50 Solution/197. Rising Temperature/Rising Temperature.sql diff --git a/LeetCode SQL 50 Solution/197. Rising Temperature/Rising Temperature.sql b/LeetCode SQL 50 Solution/197. Rising Temperature/Rising Temperature.sql new file mode 100644 index 0000000..72b2d7f --- /dev/null +++ b/LeetCode SQL 50 Solution/197. Rising Temperature/Rising Temperature.sql @@ -0,0 +1,21 @@ +"""197. Rising Temperature""" + +WITH PreviousWeatherData AS +( + SELECT + id, + recordDate, + temperature, + LAG(temperature, 1) OVER (ORDER BY recordDate) AS PreviousTemperature, + LAG(recordDate, 1) OVER (ORDER BY recordDate) AS PreviousRecordDate + FROM + Weather +) +SELECT + id +FROM + PreviousWeatherData +WHERE + temperature > PreviousTemperature +AND + recordDate = DATE_ADD(PreviousRecordDate, INTERVAL 1 DAY); \ No newline at end of file From 53a018813546379268e587c6bda16e3ec44290e5 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 14:31:43 +0530 Subject: [PATCH 132/353] assd --- .../176. Second Highest Salary.SQL | 66 ---------- .../176. Second Highest Salary.py | 6 + .../176. Second heighest salary.sql | 15 ++- .../176. Second heighest salary/readme.md | 121 ++++++++++++++++++ 4 files changed, 141 insertions(+), 67 deletions(-) delete mode 100644 LeetCode SQL 50 Solution/176. Second heighest salary/176. Second Highest Salary.SQL create mode 100644 LeetCode SQL 50 Solution/176. Second heighest salary/176. Second Highest Salary.py create mode 100644 LeetCode SQL 50 Solution/176. Second heighest salary/readme.md diff --git a/LeetCode SQL 50 Solution/176. Second heighest salary/176. Second Highest Salary.SQL b/LeetCode SQL 50 Solution/176. Second heighest salary/176. Second Highest Salary.SQL deleted file mode 100644 index e8f8028..0000000 --- a/LeetCode SQL 50 Solution/176. Second heighest salary/176. Second Highest Salary.SQL +++ /dev/null @@ -1,66 +0,0 @@ -176. Second Highest Salary -Solved -Medium -Topics -Companies -SQL Schema -Pandas Schema -Table: Employee - -+-------------+------+ -| Column Name | Type | -+-------------+------+ -| id | int | -| salary | int | -+-------------+------+ -id is the primary key (column with unique values) for this table. -Each row of this table contains information about the salary of an employee. - - -Write a solution to find the second highest distinct salary from the Employee table. If there is no second highest salary, return null (return None in Pandas). - -The result format is in the following example. - - - -Example 1: - -Input: -Employee table: -+----+--------+ -| id | salary | -+----+--------+ -| 1 | 100 | -| 2 | 200 | -| 3 | 300 | -+----+--------+ -Output: -+---------------------+ -| SecondHighestSalary | -+---------------------+ -| 200 | -+---------------------+ -Example 2: - -Input: -Employee table: -+----+--------+ -| id | salary | -+----+--------+ -| 1 | 100 | -+----+--------+ -Output: -+---------------------+ -| SecondHighestSalary | -+---------------------+ -| null | -+---------------------+ - -WITH - RankedEmployees AS ( - SELECT *, DENSE_RANK() OVER(ORDER BY salary DESC) AS `rank` - FROM Employee - ) -SELECT MAX(salary) AS SecondHighestSalary -FROM RankedEmployees -WHERE `rank` = 2; \ No newline at end of file diff --git a/LeetCode SQL 50 Solution/176. Second heighest salary/176. Second Highest Salary.py b/LeetCode SQL 50 Solution/176. Second heighest salary/176. Second Highest Salary.py new file mode 100644 index 0000000..e50a809 --- /dev/null +++ b/LeetCode SQL 50 Solution/176. Second heighest salary/176. Second Highest Salary.py @@ -0,0 +1,6 @@ +import pandas as pd + +def second_highest_salary(employee: pd.DataFrame) -> pd.DataFrame: + unique_salaries = employee['salary'].drop_duplicates().sort_values(ascending=False) + second_highest = unique_salaries.iloc[1] if len(unique_salaries) > 1 else None + return pd.DataFrame({'SecondHighestSalary': [second_highest]}) diff --git a/LeetCode SQL 50 Solution/176. Second heighest salary/176. Second heighest salary.sql b/LeetCode SQL 50 Solution/176. Second heighest salary/176. Second heighest salary.sql index 3d17f1d..1ac922f 100644 --- a/LeetCode SQL 50 Solution/176. Second heighest salary/176. Second heighest salary.sql +++ b/LeetCode SQL 50 Solution/176. Second heighest salary/176. Second heighest salary.sql @@ -1,4 +1,17 @@ - +# Solution 1 # Write your MSSQL query statement below select max(salary) as SecondHighestSalary from employee where salary not in (select max(salary) from employee) + + + +# Solution 2 +# Write your MSSQL query statement below +# Write your MySQL query statement below +SELECT + ( + SELECT DISTINCT salary + FROM Employee + ORDER BY salary DESC + LIMIT 1, 1 + ) AS SecondHighestSalary; \ No newline at end of file diff --git a/LeetCode SQL 50 Solution/176. Second heighest salary/readme.md b/LeetCode SQL 50 Solution/176. Second heighest salary/readme.md new file mode 100644 index 0000000..0eb0146 --- /dev/null +++ b/LeetCode SQL 50 Solution/176. Second heighest salary/readme.md @@ -0,0 +1,121 @@ +# 🏆 LeetCode 176: Second Highest Salary (Pandas) 🚀 + +## **Problem Statement** +You are given an **Employee** table with the following schema: + +``` ++-------------+------+ +| Column Name | Type | ++-------------+------+ +| id | int | +| salary | int | ++-------------+------+ +``` +- `id` is the **primary key** (unique for each employee). +- Each row contains information about an employee's salary. + +Your task is to **find the second highest distinct salary**. +- If there is no second highest salary, return `None`. + +--- + +## **Example 1** + +### **Input:** +```plaintext ++----+--------+ +| id | salary | ++----+--------+ +| 1 | 100 | +| 2 | 200 | +| 3 | 300 | ++----+--------+ +``` +### **Output:** +```plaintext ++---------------------+ +| SecondHighestSalary | ++---------------------+ +| 200 | ++---------------------+ +``` + +--- + +## **Example 2** + +### **Input:** +```plaintext ++----+--------+ +| id | salary | ++----+--------+ +| 1 | 100 | ++----+--------+ +``` +### **Output:** +```plaintext ++---------------------+ +| SecondHighestSalary | ++---------------------+ +| null | ++---------------------+ +``` + +--- + +## **Approach** + +1. **Remove duplicate salaries** using `.drop_duplicates()`. +2. **Sort salaries** in descending order. +3. **Retrieve the second highest salary**, if it exists. +4. If there is no second highest salary, return `None`. + +--- + +## **Code (Pandas Solution)** + +```python +import pandas as pd + +def second_highest_salary(employee: pd.DataFrame) -> pd.DataFrame: + # Get distinct salaries, sorted in descending order + unique_salaries = employee['salary'].drop_duplicates().sort_values(ascending=False) + + # Check if there is a second highest salary + second_highest = unique_salaries.iloc[1] if len(unique_salaries) > 1 else None + + # Return as a DataFrame with column name 'SecondHighestSalary' + return pd.DataFrame({'SecondHighestSalary': [second_highest]}) +``` + +--- + +## **Complexity Analysis** +- **Time Complexity:** $$O(n \log n)$$ due to sorting. +- **Space Complexity:** $$O(n)$$ for storing unique salaries. + +--- + +## **Why This Works?** +✅ Uses Pandas' `drop_duplicates()` for distinct values. +✅ Sorts efficiently using `sort_values()`. +✅ Handles cases where no second highest salary exists. + +--- + +## **SQL Equivalent Solution** +If solving in SQL, we can use **`DENSE_RANK()`**: +```sql +WITH RankedEmployees AS ( + SELECT salary, DENSE_RANK() OVER(ORDER BY salary DESC) AS `rank` + FROM Employee +) +SELECT MAX(salary) AS SecondHighestSalary +FROM RankedEmployees +WHERE `rank` = 2; +``` + +--- + +### **Happy Coding! 🚀💡** +Hope this helps! Feel free to ⭐ **star** this repo if you found it useful. 😊 \ No newline at end of file From 7ccbdf9a80f712692a798b973a3097b67ec8c59f Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 14:36:06 +0530 Subject: [PATCH 133/353] Update 177. Nth Highest Salary.sql --- .../177. Nth Highest Salary.sql | 36 ++++++------------- 1 file changed, 10 insertions(+), 26 deletions(-) diff --git a/LeetCode SQL 50 Solution/177. Nth Highest Salary/177. Nth Highest Salary.sql b/LeetCode SQL 50 Solution/177. Nth Highest Salary/177. Nth Highest Salary.sql index a79d1d5..6dfb0ac 100644 --- a/LeetCode SQL 50 Solution/177. Nth Highest Salary/177. Nth Highest Salary.sql +++ b/LeetCode SQL 50 Solution/177. Nth Highest Salary/177. Nth Highest Salary.sql @@ -1,28 +1,12 @@ -/* -* Order By Clause - * ORDER BY order_by_expression - [ COLLATE collation_name ] - [ ASC | DESC ] - [ ,...n ] -[ ] - - ::= -{ - OFFSET { integer_constant | offset_row_count_expression } { ROW | ROWS } - [ - FETCH { FIRST | NEXT } {integer_constant | fetch_row_count_expression } { ROW | ROWS } ONLY - ] -} -*/ - -Create FUNCTION getNthHighestSalary(@N INT) returns INT as +# Write your MySQL query statement below. +CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGIN - Return( - Select Salary - From Employee - Gourp By Salary - Order By Salary DESC - Offset @N-1 rows - Fetch First 1 Rows Only +SET N = N-1; + RETURN ( + SELECT DISTINCT(salary) from Employee order by salary DESC + LIMIT 1 OFFSET N + ); - End +END + +# pls upvote if you find solution easy to undestand....!! Thanks..!!! \ No newline at end of file From 3d2b663895761e866c3df6dc1f6a7f2d8f04fe9b Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 14:40:47 +0530 Subject: [PATCH 134/353] creater file --- .../176. Second heighest salary/readme.md | 152 ++++++++---------- .../177. Nth Highest Salary/readme.md | 121 ++++++++++++++ 2 files changed, 186 insertions(+), 87 deletions(-) create mode 100644 LeetCode SQL 50 Solution/177. Nth Highest Salary/readme.md diff --git a/LeetCode SQL 50 Solution/176. Second heighest salary/readme.md b/LeetCode SQL 50 Solution/176. Second heighest salary/readme.md index 0eb0146..76e32e9 100644 --- a/LeetCode SQL 50 Solution/176. Second heighest salary/readme.md +++ b/LeetCode SQL 50 Solution/176. Second heighest salary/readme.md @@ -1,113 +1,65 @@ -# 🏆 LeetCode 176: Second Highest Salary (Pandas) 🚀 +# 176. Second Highest Salary -## **Problem Statement** -You are given an **Employee** table with the following schema: +## Problem Statement +You are given a table `Employee` containing the salaries of employees. The goal is to find the second highest distinct salary from this table. If there is no second highest salary, return `NULL` (or `None` in Pandas). + +### Table: Employee -``` -+-------------+------+ | Column Name | Type | -+-------------+------+ +| ----------- | ---- | | id | int | | salary | int | -+-------------+------+ -``` -- `id` is the **primary key** (unique for each employee). -- Each row contains information about an employee's salary. -Your task is to **find the second highest distinct salary**. -- If there is no second highest salary, return `None`. +- `id` is the primary key for this table. +- Each row contains salary information for an employee. ---- +## Example 1: -## **Example 1** - -### **Input:** -```plaintext -+----+--------+ -| id | salary | -+----+--------+ -| 1 | 100 | -| 2 | 200 | -| 3 | 300 | -+----+--------+ -``` -### **Output:** -```plaintext -+---------------------+ -| SecondHighestSalary | -+---------------------+ -| 200 | -+---------------------+ -``` +### **Input:** ---- +| id | salary | +| --- | ------ | +| 1 | 100 | +| 2 | 200 | +| 3 | 300 | -## **Example 2** +### **Output:** -### **Input:** -```plaintext -+----+--------+ -| id | salary | -+----+--------+ -| 1 | 100 | -+----+--------+ -``` -### **Output:** -```plaintext -+---------------------+ | SecondHighestSalary | -+---------------------+ -| null | -+---------------------+ -``` - ---- - -## **Approach** - -1. **Remove duplicate salaries** using `.drop_duplicates()`. -2. **Sort salaries** in descending order. -3. **Retrieve the second highest salary**, if it exists. -4. If there is no second highest salary, return `None`. - ---- +| ------------------- | +| 200 | -## **Code (Pandas Solution)** +## Example 2: -```python -import pandas as pd +### **Input:** -def second_highest_salary(employee: pd.DataFrame) -> pd.DataFrame: - # Get distinct salaries, sorted in descending order - unique_salaries = employee['salary'].drop_duplicates().sort_values(ascending=False) - - # Check if there is a second highest salary - second_highest = unique_salaries.iloc[1] if len(unique_salaries) > 1 else None - - # Return as a DataFrame with column name 'SecondHighestSalary' - return pd.DataFrame({'SecondHighestSalary': [second_highest]}) -``` +| id | salary | +| --- | ------ | +| 1 | 100 | ---- +### **Output:** -## **Complexity Analysis** -- **Time Complexity:** $$O(n \log n)$$ due to sorting. -- **Space Complexity:** $$O(n)$$ for storing unique salaries. +| SecondHighestSalary | +| ------------------- | +| NULL | --- +## **Approach** -## **Why This Works?** -✅ Uses Pandas' `drop_duplicates()` for distinct values. -✅ Sorts efficiently using `sort_values()`. -✅ Handles cases where no second highest salary exists. +### **SQL Approach** +1. **Use a Window Function:** + - Apply `DENSE_RANK()` to rank salaries in descending order. + - Assign rank `1` to the highest salary, `2` to the second highest, and so on. +2. **Filter by Rank:** + - Select the salary where `rank = 2`. + - If no second highest salary exists, return `NULL`. --- +## **Solution** -## **SQL Equivalent Solution** -If solving in SQL, we can use **`DENSE_RANK()`**: ```sql WITH RankedEmployees AS ( - SELECT salary, DENSE_RANK() OVER(ORDER BY salary DESC) AS `rank` + SELECT *, DENSE_RANK() OVER(ORDER BY salary DESC) AS `rank` FROM Employee ) SELECT MAX(salary) AS SecondHighestSalary @@ -116,6 +68,32 @@ WHERE `rank` = 2; ``` --- +## **File Structure** +``` +📂 SecondHighestSalary +├── 📄 README.md # Problem statement, approach, and solution +├── 📄 solution.sql # SQL query file +├── 📄 solution_pandas.py # Pandas solution file +``` + +--- +## **Alternative Pandas Approach** + +```python +import pandas as pd + +def second_highest_salary(employee: pd.DataFrame) -> pd.DataFrame: + unique_salaries = employee['salary'].drop_duplicates().nlargest(2) + second_highest = unique_salaries.iloc[1] if len(unique_salaries) > 1 else None + return pd.DataFrame({'SecondHighestSalary': [second_highest]}) +``` + +--- +## **Resources & References** +- [LeetCode Problem Link](https://leetcode.com/problems/second-highest-salary/) +- [SQL DENSE_RANK() Documentation](https://www.sqlservertutorial.net/sql-server-window-functions/sql-server-dense_rank-function/) + +--- +## **Contribute** +Feel free to contribute by submitting an issue or a pull request! -### **Happy Coding! 🚀💡** -Hope this helps! Feel free to ⭐ **star** this repo if you found it useful. 😊 \ No newline at end of file diff --git a/LeetCode SQL 50 Solution/177. Nth Highest Salary/readme.md b/LeetCode SQL 50 Solution/177. Nth Highest Salary/readme.md new file mode 100644 index 0000000..4d13d7e --- /dev/null +++ b/LeetCode SQL 50 Solution/177. Nth Highest Salary/readme.md @@ -0,0 +1,121 @@ +# 177. Nth Highest Salary + +## Problem Statement +Given a table `Employee`, write a SQL query to find the `nth` highest salary. If there is no `nth` highest salary, return `null`. + +### Table Schema: `Employee` +| Column Name | Type | +| ----------- | ---- | +| id | int | +| salary | int | + +- `id` is the primary key (unique values for employees). +- `salary` column contains employee salary details. + +### Example 1: +#### **Input:** +```sql ++----+--------+ +| id | salary | ++----+--------+ +| 1 | 100 | +| 2 | 200 | +| 3 | 300 | ++----+--------+ +n = 2 +``` +#### **Output:** +```sql ++------------------------+ +| getNthHighestSalary(2) | ++------------------------+ +| 200 | ++------------------------+ +``` + +### Example 2: +#### **Input:** +```sql ++----+--------+ +| id | salary | ++----+--------+ +| 1 | 100 | ++----+--------+ +n = 2 +``` +#### **Output:** +```sql ++------------------------+ +| getNthHighestSalary(2) | ++------------------------+ +| null | ++------------------------+ +``` + +--- + +## Approach +1. Use the `DENSE_RANK()` function to rank salaries in descending order. +2. Filter for the `nth` highest salary using a `WHERE` clause. +3. If there is no `nth` highest salary, return `NULL`. + +--- + +## SQL Solution +```sql +CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT AS +BEGIN + RETURN ( + SELECT DISTINCT salary FROM Employee + ORDER BY salary DESC + LIMIT 1 OFFSET N-1 + ); +END; +``` + +### Explanation: +- `ORDER BY salary DESC` sorts salaries in descending order. +- `LIMIT 1 OFFSET N-1` fetches the `nth` highest salary. +- If `N` is larger than the number of salaries, `NULL` is returned. + +--- + +## Pandas Solution +```python +import pandas as pd + +def getNthHighestSalary(employee: pd.DataFrame, N: int) -> pd.DataFrame: + unique_salaries = employee['salary'].drop_duplicates().nlargest(N) + if len(unique_salaries) < N: + return pd.DataFrame({"getNthHighestSalary(N)": [None]}) + return pd.DataFrame({"getNthHighestSalary(N)": [unique_salaries.iloc[-1]]}) +``` + +### Explanation: +- `drop_duplicates()` removes duplicate salaries. +- `nlargest(N)` gets the `N` highest salaries. +- If `N` is greater than available salaries, return `None`. + +--- + +## File Structure +``` +📂 nth_highest_salary + ├── 📄 README.md # Problem statement, approach, solution + ├── 📄 nth_highest_salary.sql # SQL Solution + ├── 📄 nth_highest_salary.py # Pandas Solution + └── 📄 example_input_output.txt # Sample input & expected output +``` + +--- + +## References +- [LeetCode Problem #177](https://leetcode.com/problems/nth-highest-salary/) +- [MySQL Documentation - LIMIT & OFFSET](https://dev.mysql.com/doc/refman/8.0/en/select.html) +- [Pandas Documentation](https://pandas.pydata.org/docs/) + +--- + +### Contributors +- **[Antim Pal]** 🚀 + From 3db5147e08f230647b62ce0d0e64609e3e57b485 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 14:41:29 +0530 Subject: [PATCH 135/353] Create 177. Nth Highest Salary.py --- .../177. Nth Highest Salary/177. Nth Highest Salary.py | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 LeetCode SQL 50 Solution/177. Nth Highest Salary/177. Nth Highest Salary.py diff --git a/LeetCode SQL 50 Solution/177. Nth Highest Salary/177. Nth Highest Salary.py b/LeetCode SQL 50 Solution/177. Nth Highest Salary/177. Nth Highest Salary.py new file mode 100644 index 0000000..9136333 --- /dev/null +++ b/LeetCode SQL 50 Solution/177. Nth Highest Salary/177. Nth Highest Salary.py @@ -0,0 +1,7 @@ +import pandas as pd + +def getNthHighestSalary(employee: pd.DataFrame, N: int) -> pd.DataFrame: + unique_salaries = employee['salary'].drop_duplicates().nlargest(N) + if len(unique_salaries) < N: + return pd.DataFrame({"getNthHighestSalary(N)": [None]}) + return pd.DataFrame({"getNthHighestSalary(N)": [unique_salaries.iloc[-1]]}) \ No newline at end of file From 739c547f87d23db14cf1ad6ff7b4a546a89a6764 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 14:46:31 +0530 Subject: [PATCH 136/353] Create readme.md --- .../180. Consecutive Numbers/readme.md | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 LeetCode SQL 50 Solution/180. Consecutive Numbers/readme.md diff --git a/LeetCode SQL 50 Solution/180. Consecutive Numbers/readme.md b/LeetCode SQL 50 Solution/180. Consecutive Numbers/readme.md new file mode 100644 index 0000000..d85879d --- /dev/null +++ b/LeetCode SQL 50 Solution/180. Consecutive Numbers/readme.md @@ -0,0 +1,91 @@ +# 180. Consecutive Numbers + +## Problem Statement +Table: `Logs` + +| Column Name | Type | +| ----------- | ------- | +| id | int | +| num | varchar | + +- `id` is the primary key (auto-incremented starting from 1). +- Find all numbers that appear **at least three times consecutively**. +- Return the result table in **any order**. + +### Example 1: + +#### Input: +| id | num | +| --- | --- | +| 1 | 1 | +| 2 | 1 | +| 3 | 1 | +| 4 | 2 | +| 5 | 1 | +| 6 | 2 | +| 7 | 2 | + +#### Output: +| ConsecutiveNums | +| --------------- | +| 1 | + +--- + +## Solution + +```sql +SELECT DISTINCT num AS ConsecutiveNums +FROM Logs l1 +JOIN Logs l2 ON l1.id = l2.id - 1 +JOIN Logs l3 ON l2.id = l3.id - 1 +WHERE l1.num = l2.num AND l2.num = l3.num; +``` + +### Explanation: +- We use **self-joins** to check three consecutive rows where `num` values are the same. +- `l1`, `l2`, and `l3` represent three consecutive rows. +- The condition `l1.num = l2.num AND l2.num = l3.num` ensures that we only select numbers appearing at least three times consecutively. +- `DISTINCT` ensures we don't get duplicate results. + +--- + +## Alternative Approach using `LAG()` (MySQL 8+) + +```sql +WITH Consecutive AS ( + SELECT num, + LAG(num, 1) OVER (ORDER BY id) AS prev1, + LAG(num, 2) OVER (ORDER BY id) AS prev2 + FROM Logs +) +SELECT DISTINCT num AS ConsecutiveNums +FROM Consecutive +WHERE num = prev1 AND num = prev2; +``` + +### Explanation: +- We use the `LAG()` function to check the previous two rows for the same `num` value. +- If a `num` matches with its two previous values, it qualifies as a **consecutive number appearing at least three times**. + +--- + +## File Structure + +``` +📂 ConsecutiveNumbers + ├── 📄 README.md # Problem statement, approach, and solutions + ├── 📄 consecutive_numbers.sql # SQL solution + ├── 📄 alternative_solution.sql # Alternative solution using LAG() +``` + +--- + +## Useful Links +- [LeetCode Problem](https://leetcode.com/problems/consecutive-numbers/) 🚀 +- [SQL `JOIN` Explained](https://www.w3schools.com/sql/sql_join.asp) +- [MySQL `LAG()` Window Function](https://dev.mysql.com/doc/refman/8.0/en/window-function-descriptions.html) + +--- + +Feel free to contribute with optimized solutions! 💡 \ No newline at end of file From 9fea8b3a32ac6340bf30cffe735a9737fab68512 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 14:51:21 +0530 Subject: [PATCH 137/353] Create 180. Consecutive Numbers.py --- .../180. Consecutive Numbers/180. Consecutive Numbers.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/180. Consecutive Numbers/180. Consecutive Numbers.py diff --git a/LeetCode SQL 50 Solution/180. Consecutive Numbers/180. Consecutive Numbers.py b/LeetCode SQL 50 Solution/180. Consecutive Numbers/180. Consecutive Numbers.py new file mode 100644 index 0000000..e69de29 From a839102942ad3b2f221f736a3c851202a18d87b2 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 15:02:47 +0530 Subject: [PATCH 138/353] Update readme.md --- .../180. Consecutive Numbers/readme.md | 108 ++++++++++-------- 1 file changed, 59 insertions(+), 49 deletions(-) diff --git a/LeetCode SQL 50 Solution/180. Consecutive Numbers/readme.md b/LeetCode SQL 50 Solution/180. Consecutive Numbers/readme.md index d85879d..73e7b25 100644 --- a/LeetCode SQL 50 Solution/180. Consecutive Numbers/readme.md +++ b/LeetCode SQL 50 Solution/180. Consecutive Numbers/readme.md @@ -1,86 +1,96 @@ # 180. Consecutive Numbers ## Problem Statement -Table: `Logs` +You are given a table `Logs` with the following structure: +``` ++-------------+---------+ | Column Name | Type | -| ----------- | ------- | ++-------------+---------+ | id | int | | num | varchar | - -- `id` is the primary key (auto-incremented starting from 1). ++-------------+---------+ +``` +- `id` is the primary key and auto-increments starting from 1. - Find all numbers that appear **at least three times consecutively**. - Return the result table in **any order**. -### Example 1: +## Example 1: -#### Input: -| id | num | -| --- | --- | -| 1 | 1 | -| 2 | 1 | -| 3 | 1 | -| 4 | 2 | -| 5 | 1 | -| 6 | 2 | -| 7 | 2 | +**Input:** + +``` +Logs table: ++----+-----+ +| id | num | ++----+-----+ +| 1 | 1 | +| 2 | 1 | +| 3 | 1 | +| 4 | 2 | +| 5 | 1 | +| 6 | 2 | +| 7 | 2 | ++----+-----+ +``` -#### Output: +**Output:** + +``` ++-----------------+ | ConsecutiveNums | -| --------------- | ++-----------------+ | 1 | ++-----------------+ +``` --- -## Solution +## Solution Approaches +### **SQL Solution (Using Self Join)** ```sql -SELECT DISTINCT num AS ConsecutiveNums +SELECT DISTINCT l1.num AS ConsecutiveNums FROM Logs l1 -JOIN Logs l2 ON l1.id = l2.id - 1 -JOIN Logs l3 ON l2.id = l3.id - 1 -WHERE l1.num = l2.num AND l2.num = l3.num; +JOIN Logs l2 ON l1.id = l2.id - 1 AND l1.num = l2.num +JOIN Logs l3 ON l1.id = l3.id - 2 AND l1.num = l3.num; ``` -### Explanation: -- We use **self-joins** to check three consecutive rows where `num` values are the same. -- `l1`, `l2`, and `l3` represent three consecutive rows. -- The condition `l1.num = l2.num AND l2.num = l3.num` ensures that we only select numbers appearing at least three times consecutively. -- `DISTINCT` ensures we don't get duplicate results. - ---- - -## Alternative Approach using `LAG()` (MySQL 8+) - +### **SQL Solution (Using Window Functions)** ```sql -WITH Consecutive AS ( - SELECT num, - LAG(num, 1) OVER (ORDER BY id) AS prev1, - LAG(num, 2) OVER (ORDER BY id) AS prev2 - FROM Logs -) SELECT DISTINCT num AS ConsecutiveNums -FROM Consecutive +FROM ( + SELECT num, LAG(num,1) OVER (ORDER BY id) AS prev1, + LAG(num,2) OVER (ORDER BY id) AS prev2 + FROM Logs +) temp WHERE num = prev1 AND num = prev2; ``` -### Explanation: -- We use the `LAG()` function to check the previous two rows for the same `num` value. -- If a `num` matches with its two previous values, it qualifies as a **consecutive number appearing at least three times**. +### **Pandas Solution** +```python +import pandas as pd + +def consecutive_numbers(logs: pd.DataFrame) -> pd.DataFrame: + logs['prev1'] = logs['num'].shift(1) + logs['prev2'] = logs['num'].shift(2) + + result = logs[(logs['num'] == logs['prev1']) & (logs['num'] == logs['prev2'])] + return pd.DataFrame({'ConsecutiveNums': result['num'].unique()}) +``` --- -## File Structure +## File Structure ``` -📂 ConsecutiveNumbers - ├── 📄 README.md # Problem statement, approach, and solutions - ├── 📄 consecutive_numbers.sql # SQL solution - ├── 📄 alternative_solution.sql # Alternative solution using LAG() +📂 Problem Name + ├── 📄 README.md # Problem statement, approach, solution + ├── 📄 sql_solution.sql # SQL Solution + ├── 📄 pandas_solution.py # Pandas Solution + └── 📄 example_input_output.txt # Sample input & expected output ``` ---- - ## Useful Links - [LeetCode Problem](https://leetcode.com/problems/consecutive-numbers/) 🚀 - [SQL `JOIN` Explained](https://www.w3schools.com/sql/sql_join.asp) From 4a354912f8fbc2cb3151d5393c3cbebdff77bc21 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 16:05:03 +0530 Subject: [PATCH 139/353] Create readme.md --- .../185. Department Top Three Salaries/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/185. Department Top Three Salaries/readme.md diff --git a/LeetCode SQL 50 Solution/185. Department Top Three Salaries/readme.md b/LeetCode SQL 50 Solution/185. Department Top Three Salaries/readme.md new file mode 100644 index 0000000..e69de29 From 6a0767c7f7a4ecb547336eb53e46e92fe3e302bb Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:20:38 +0530 Subject: [PATCH 140/353] Update readme.md --- .../readme.md | 173 ++++++++++++++++++ 1 file changed, 173 insertions(+) diff --git a/LeetCode SQL 50 Solution/185. Department Top Three Salaries/readme.md b/LeetCode SQL 50 Solution/185. Department Top Three Salaries/readme.md index e69de29..c5f802d 100644 --- a/LeetCode SQL 50 Solution/185. Department Top Three Salaries/readme.md +++ b/LeetCode SQL 50 Solution/185. Department Top Three Salaries/readme.md @@ -0,0 +1,173 @@ +Here’s the structured format for **LeetCode 185: Department Top Three Salaries**: + +--- + +# **185. Department Top Three Salaries** + +## **Problem Statement** +You are given two tables: `Employee` and `Department`. + +### **Employee Table** +``` ++--------------+---------+ +| Column Name | Type | ++--------------+---------+ +| id | int | +| name | varchar | +| salary | int | +| departmentId | int | ++--------------+---------+ +``` +- `id` is the primary key. +- `departmentId` is a foreign key referencing `id` in the `Department` table. +- Each row represents an employee with their `id`, `name`, `salary`, and `departmentId`. + +### **Department Table** +``` ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| id | int | +| name | varchar | ++-------------+---------+ +``` +- `id` is the primary key. +- Each row represents a department with its `id` and `name`. + +### **Task:** +Find employees who have a salary in the **top three unique salaries** in their respective departments. + +## **Example 1:** +### **Input:** +#### **Employee Table** +``` ++----+-------+--------+--------------+ +| id | name | salary | departmentId | ++----+-------+--------+--------------+ +| 1 | Joe | 85000 | 1 | +| 2 | Henry | 80000 | 2 | +| 3 | Sam | 60000 | 2 | +| 4 | Max | 90000 | 1 | +| 5 | Janet | 69000 | 1 | +| 6 | Randy | 85000 | 1 | +| 7 | Will | 70000 | 1 | ++----+-------+--------+--------------+ +``` +#### **Department Table** +``` ++----+-------+ +| id | name | ++----+-------+ +| 1 | IT | +| 2 | Sales | ++----+-------+ +``` +### **Output:** +``` ++------------+----------+--------+ +| Department | Employee | Salary | ++------------+----------+--------+ +| IT | Max | 90000 | +| IT | Joe | 85000 | +| IT | Randy | 85000 | +| IT | Will | 70000 | +| Sales | Henry | 80000 | +| Sales | Sam | 60000 | ++------------+----------+--------+ +``` + +--- + +## **Solution Approaches** + +### **SQL Solution (Using Self Join)** +```sql +SELECT d.Name as Department, + e.Name as Employee, + e.Salary as Salary +FROM Department d, Employee e +WHERE ( + SELECT COUNT(DISTINCT Salary) + FROM Employee + WHERE Salary > e.Salary AND DepartmentId = d.Id +) < 3 AND e.DepartmentId = d.Id +ORDER BY d.Id, e.Salary DESC; +``` +**Explanation:** +- For each employee, we count how many distinct salaries are greater than theirs. +- If fewer than 3 salaries are greater, the employee is in the **top three**. +- We filter results by department and order by salary in descending order. + +--- + +### **SQL Solution (Using Window Functions)** +```sql +WITH RankedSalaries AS ( + SELECT e.name AS Employee, + e.salary AS Salary, + d.name AS Department, + DENSE_RANK() OVER (PARTITION BY e.departmentId ORDER BY e.salary DESC) AS rnk + FROM Employee e + JOIN Department d ON e.departmentId = d.id +) +SELECT Department, Employee, Salary +FROM RankedSalaries +WHERE rnk <= 3; +``` +**Explanation:** +- We use `DENSE_RANK()` to assign a rank to salaries within each department. +- `PARTITION BY departmentId` ensures ranking is specific to each department. +- Employees with `rnk <= 3` are returned. + +--- + +### **Pandas Solution** +```python +import pandas as pd + +def department_top_three_salaries(employee: pd.DataFrame, department: pd.DataFrame) -> pd.DataFrame: + # Merge employee and department tables + employee = employee.merge(department, left_on='departmentId', right_on='id', suffixes=('', '_dept')) + + # Rank employees' salaries within each department + employee['rank'] = employee.groupby('departmentId')['salary'].rank(method='dense', ascending=False) + + # Filter top 3 salaries in each department + result = employee[employee['rank'] <= 3][['name_dept', 'name', 'salary']] + + # Rename columns to match the expected output + result.columns = ['Department', 'Employee', 'Salary'] + + return result +``` +**Explanation:** +- Merge the `Employee` and `Department` tables. +- Rank salaries within each department using `.rank()`. +- Filter the top 3 ranked salaries per department. + +--- + +## **File Structure** +``` +📂 LeetCode185 +│── 📜 problem_statement.md +│── 📜 sql_self_join_solution.sql +│── 📜 sql_window_function_solution.sql +│── 📜 pandas_solution.py +│── 📜 README.md +``` +- `problem_statement.md` → Contains the problem description and constraints. +- `sql_self_join_solution.sql` → Contains the SQL solution using self-join. +- `sql_window_function_solution.sql` → Contains the SQL solution using `DENSE_RANK()`. +- `pandas_solution.py` → Contains the Pandas solution for Python users. +- `README.md` → Provides an overview of the problem and solutions. + +--- + +## **Useful Links** +- [LeetCode Problem 185](https://leetcode.com/problems/department-top-three-salaries/) +- [SQL DENSE_RANK() Function](https://www.w3schools.com/sql/sql_functions.asp) +- [Pandas Rank Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.rank.html) + +--- + From 1db3bab07df21e763bd2aa3efb412ce14c58eeab Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:21:57 +0530 Subject: [PATCH 141/353] Update readme.md --- .../185. Department Top Three Salaries/readme.md | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/LeetCode SQL 50 Solution/185. Department Top Three Salaries/readme.md b/LeetCode SQL 50 Solution/185. Department Top Three Salaries/readme.md index c5f802d..36117c3 100644 --- a/LeetCode SQL 50 Solution/185. Department Top Three Salaries/readme.md +++ b/LeetCode SQL 50 Solution/185. Department Top Three Salaries/readme.md @@ -1,14 +1,10 @@ -Here’s the structured format for **LeetCode 185: Department Top Three Salaries**: - ---- - # **185. Department Top Three Salaries** ## **Problem Statement** You are given two tables: `Employee` and `Department`. ### **Employee Table** -``` +```rb +--------------+---------+ | Column Name | Type | +--------------+---------+ @@ -23,7 +19,7 @@ You are given two tables: `Employee` and `Department`. - Each row represents an employee with their `id`, `name`, `salary`, and `departmentId`. ### **Department Table** -``` +```rb +-------------+---------+ | Column Name | Type | +-------------+---------+ @@ -54,7 +50,7 @@ Find employees who have a salary in the **top three unique salaries** in their r +----+-------+--------+--------------+ ``` #### **Department Table** -``` +```rb +----+-------+ | id | name | +----+-------+ @@ -63,7 +59,7 @@ Find employees who have a salary in the **top three unique salaries** in their r +----+-------+ ``` ### **Output:** -``` +```rb +------------+----------+--------+ | Department | Employee | Salary | +------------+----------+--------+ From 02a3896ba38afe2db07b5bdf905b0b3626d1798b Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:22:09 +0530 Subject: [PATCH 142/353] Update 185. Department Top Three Salaries.md --- .../185. Department Top Three Salaries.md | 112 ------------------ 1 file changed, 112 deletions(-) diff --git a/LeetCode SQL 50 Solution/185. Department Top Three Salaries/185. Department Top Three Salaries.md b/LeetCode SQL 50 Solution/185. Department Top Three Salaries/185. Department Top Three Salaries.md index 289efac..e69de29 100644 --- a/LeetCode SQL 50 Solution/185. Department Top Three Salaries/185. Department Top Three Salaries.md +++ b/LeetCode SQL 50 Solution/185. Department Top Three Salaries/185. Department Top Three Salaries.md @@ -1,112 +0,0 @@ -# 185. Department Top Three Salaries - -### Question -``` - Table: Employee - -+--------------+---------+ -| Column Name | Type | -+--------------+---------+ -| id | int | -| name | varchar | -| salary | int | -| departmentId | int | -+--------------+---------+ -``` -id is the primary key (column with unique values) for this table. -departmentId is a foreign key (reference column) of the ID from the Department table. -Each row of this table indicates the ID, name, and salary of an employee. It also contains the ID of their department. - - -Table: Department -``` -+-------------+---------+ -| Column Name | Type | -+-------------+---------+ -| id | int | -| name | varchar | -+-------------+---------+ -``` -id is the primary key (column with unique values) for this table. -Each row of this table indicates the ID of a department and its name. - - -A company's executives are interested in seeing who earns the most money in each of the company's departments. A high earner in a department is an employee who has a salary in the top three unique salaries for that department. - -Write a solution to find the employees who are high earners in each of the departments. - -Return the result table in any order. - -The result format is in the following example. - - - -Example 1: -``` -Input: -Employee table: -+----+-------+--------+--------------+ -| id | name | salary | departmentId | -+----+-------+--------+--------------+ -| 1 | Joe | 85000 | 1 | -| 2 | Henry | 80000 | 2 | -| 3 | Sam | 60000 | 2 | -| 4 | Max | 90000 | 1 | -| 5 | Janet | 69000 | 1 | -| 6 | Randy | 85000 | 1 | -| 7 | Will | 70000 | 1 | -+----+-------+--------+--------------+ -``` -``` -Department table: -+----+-------+ -| id | name | -+----+-------+ -| 1 | IT | -| 2 | Sales | -+----+-------+ -Output: -+------------+----------+--------+ -| Department | Employee | Salary | -+------------+----------+--------+ -| IT | Max | 90000 | -| IT | Joe | 85000 | -| IT | Randy | 85000 | -| IT | Will | 70000 | -| Sales | Henry | 80000 | -| Sales | Sam | 60000 | -+------------+----------+--------+ -``` -Explanation: -In the IT department: -- Max earns the highest unique salary -- Both Randy and Joe earn the second-highest unique salary -- Will earns the third-highest unique salary - -In the Sales department: -- Henry earns the highest salary -- Sam earns the second-highest salary -- There is no third-highest salary as there are only two employees - - -Constraints: - -There are no employees with the exact same name, salary and department. - - -## Solution - - -```MySQL -# Write your MySQL query statement below -SELECT d.Name as Department, -e.Name as Employee, -e.Salary as Salary -FROM Department d, Employee e -WHERE( - SELECT COUNT(distinct Salary) - FROM Employee - WHERE Salary > e.Salary AND DepartmentId = d.Id -) < 3 AND e.DepartmentId = d.Id -ORDER BY d.Id, e.Salary desc; -``` \ No newline at end of file From 31f2a4b8623dcf546962af96b9af572b03fb6bb8 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:24:11 +0530 Subject: [PATCH 143/353] add --- .../185. Department Top Three Salaries.md | 0 .../185. Department Top Three Salaries.py | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+) delete mode 100644 LeetCode SQL 50 Solution/185. Department Top Three Salaries/185. Department Top Three Salaries.md create mode 100644 LeetCode SQL 50 Solution/185. Department Top Three Salaries/185. Department Top Three Salaries.py diff --git a/LeetCode SQL 50 Solution/185. Department Top Three Salaries/185. Department Top Three Salaries.md b/LeetCode SQL 50 Solution/185. Department Top Three Salaries/185. Department Top Three Salaries.md deleted file mode 100644 index e69de29..0000000 diff --git a/LeetCode SQL 50 Solution/185. Department Top Three Salaries/185. Department Top Three Salaries.py b/LeetCode SQL 50 Solution/185. Department Top Three Salaries/185. Department Top Three Salaries.py new file mode 100644 index 0000000..ff2e501 --- /dev/null +++ b/LeetCode SQL 50 Solution/185. Department Top Three Salaries/185. Department Top Three Salaries.py @@ -0,0 +1,18 @@ +### **Pandas Solution** + +import pandas as pd + +def department_top_three_salaries(employee: pd.DataFrame, department: pd.DataFrame) -> pd.DataFrame: + # Merge employee and department tables + employee = employee.merge(department, left_on='departmentId', right_on='id', suffixes=('', '_dept')) + + # Rank employees' salaries within each department + employee['rank'] = employee.groupby('departmentId')['salary'].rank(method='dense', ascending=False) + + # Filter top 3 salaries in each department + result = employee[employee['rank'] <= 3][['name_dept', 'name', 'salary']] + + # Rename columns to match the expected output + result.columns = ['Department', 'Employee', 'Salary'] + + return result \ No newline at end of file From 4c9e1269b9d94b5765bd6659911234a8885bdf55 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:24:33 +0530 Subject: [PATCH 144/353] Update 196. Delete Duplicate Emails.sql --- .../196. Delete Duplicate Emails.sql | 50 ------------------- 1 file changed, 50 deletions(-) diff --git a/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/196. Delete Duplicate Emails.sql b/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/196. Delete Duplicate Emails.sql index 214afb4..1b08ad5 100644 --- a/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/196. Delete Duplicate Emails.sql +++ b/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/196. Delete Duplicate Emails.sql @@ -1,53 +1,3 @@ -196. Delete Duplicate Emails -Solved -Easy -Topics -Companies -SQL Schema -Pandas Schema -Table: Person - -+-------------+---------+ -| Column Name | Type | -+-------------+---------+ -| id | int | -| email | varchar | -+-------------+---------+ -id is the primary key (column with unique values) for this table. -Each row of this table contains an email. The emails will not contain uppercase letters. - - -Write a solution to delete all duplicate emails, keeping only one unique email with the smallest id. - -For SQL users, please note that you are supposed to write a DELETE statement and not a SELECT one. - -For Pandas users, please note that you are supposed to modify Person in place. - -After running your script, the answer shown is the Person table. The driver will first compile and run your piece of code and then show the Person table. The final order of the Person table does not matter. - -The result format is in the following example. - - - -Example 1: - -Input: -Person table: -+----+------------------+ -| id | email | -+----+------------------+ -| 1 | john@example.com | -| 2 | bob@example.com | -| 3 | john@example.com | -+----+------------------+ -Output: -+----+------------------+ -| id | email | -+----+------------------+ -| 1 | john@example.com | -| 2 | bob@example.com | -+----+------------------+ -Explanation: john@example.com is repeated two times. We keep the row with the smallest Id = 1. From 34e43bc5cec3edebb190740218b6f74948b13baa Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:24:46 +0530 Subject: [PATCH 145/353] Update 196. Delete Duplicate Emails.sql --- .../196. Delete Duplicate Emails.sql | 3 --- 1 file changed, 3 deletions(-) diff --git a/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/196. Delete Duplicate Emails.sql b/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/196. Delete Duplicate Emails.sql index 1b08ad5..a262da8 100644 --- a/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/196. Delete Duplicate Emails.sql +++ b/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/196. Delete Duplicate Emails.sql @@ -1,6 +1,3 @@ - - - # Write your MySQL query statement below # Write your MySQL query statement below DELETE p2 FROM Person p1 From ae50bc7b7d688270fdfac7eb88e69af62d8ab016 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:25:13 +0530 Subject: [PATCH 146/353] Create 196. Delete Duplicate Emails.py --- .../196. Delete Duplicate Emails/196. Delete Duplicate Emails.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/196. Delete Duplicate Emails/196. Delete Duplicate Emails.py diff --git a/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/196. Delete Duplicate Emails.py b/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/196. Delete Duplicate Emails.py new file mode 100644 index 0000000..e69de29 From 032647a48d6d28638171107feeeddebdae3e8c13 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:25:28 +0530 Subject: [PATCH 147/353] Create readme.md --- LeetCode SQL 50 Solution/196. Delete Duplicate Emails/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/196. Delete Duplicate Emails/readme.md diff --git a/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/readme.md b/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/readme.md new file mode 100644 index 0000000..e69de29 From 5130e25a6f2e34619bab63290ccb4db7f130c8be Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:27:36 +0530 Subject: [PATCH 148/353] QER --- .../196. Delete Duplicate Emails.sql | 1 + .../196. Delete Duplicate Emails/readme.md | 118 ++++++++++++++++++ 2 files changed, 119 insertions(+) diff --git a/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/196. Delete Duplicate Emails.sql b/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/196. Delete Duplicate Emails.sql index a262da8..b9596df 100644 --- a/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/196. Delete Duplicate Emails.sql +++ b/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/196. Delete Duplicate Emails.sql @@ -1,3 +1,4 @@ +-- 196. Delete Duplicate Emails # Write your MySQL query statement below # Write your MySQL query statement below DELETE p2 FROM Person p1 diff --git a/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/readme.md b/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/readme.md index e69de29..8e355db 100644 --- a/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/readme.md +++ b/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/readme.md @@ -0,0 +1,118 @@ + +# **196. Delete Duplicate Emails** + +## **Problem Statement** +You are given a table called `Person`, which stores email addresses. + +### **Person Table** +``` ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| id | int | +| email | varchar | ++-------------+---------+ +``` +- `id` is the **primary key**. +- Each row contains an **email address**. +- All emails are in **lowercase**. + +### **Task:** +Delete all **duplicate emails**, keeping only **one unique email** with the **smallest id**. + +--- + +## **Example 1:** +### **Input:** +#### **Person Table** +``` ++----+------------------+ +| id | email | ++----+------------------+ +| 1 | john@example.com | +| 2 | bob@example.com | +| 3 | john@example.com | ++----+------------------+ +``` +### **Output:** +``` ++----+------------------+ +| id | email | ++----+------------------+ +| 1 | john@example.com | +| 2 | bob@example.com | ++----+------------------+ +``` +### **Explanation:** +- `john@example.com` appears **twice**. +- We keep the row with the **smallest `id`** (`id = 1`). +- The duplicate (`id = 3`) is **deleted**. + +--- + +## **Solution Approaches** + +### **SQL Solution (Using Self Join)** +```sql +DELETE p2 FROM Person p1 +JOIN Person p2 +ON p1.email = p2.email AND p1.id < p2.id; +``` +**Explanation:** +- `p1` and `p2` refer to the **same table** (`Person`). +- We **join** them on `email` to find duplicates. +- If `p1.id < p2.id`, we delete `p2`, keeping the row with the **smallest id**. + +--- + +### **SQL Solution (Using Subquery)** +```sql +DELETE FROM Person +WHERE id NOT IN ( + SELECT MIN(id) FROM Person GROUP BY email +); +``` +**Explanation:** +- We **group** by `email` and **select the smallest `id`** for each email. +- The `DELETE` statement removes rows **not in** this list. + +--- + +### **Pandas Solution** +```python +import pandas as pd + +def delete_duplicate_emails(person: pd.DataFrame) -> None: + # Keep only the first occurrence of each email (smallest id) + person.drop_duplicates(subset=['email'], keep='first', inplace=True) +``` +**Explanation:** +- `drop_duplicates(subset=['email'], keep='first', inplace=True)`: + - Keeps only **the first occurrence** of each email. + - Ensures **modification happens in place**. + +--- + +## **File Structure** +``` +📂 LeetCode196 +│── 📜 problem_statement.md +│── 📜 sql_self_join_solution.sql +│── 📜 sql_subquery_solution.sql +│── 📜 pandas_solution.py +│── 📜 README.md +``` +- `problem_statement.md` → Contains the problem description. +- `sql_self_join_solution.sql` → Contains the SQL solution using **JOIN**. +- `sql_subquery_solution.sql` → Contains the SQL solution using **Subquery**. +- `pandas_solution.py` → Contains the Pandas solution for Python users. +- `README.md` → Provides an overview of the problem and solutions. + +--- + +## **Useful Links** +- [LeetCode Problem 196](https://leetcode.com/problems/delete-duplicate-emails/) +- [SQL DELETE Statement](https://www.w3schools.com/sql/sql_delete.asp) +- [Pandas drop_duplicates()](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.drop_duplicates.html) + +--- From bd92a631af4209f2a9bb04d614486ec8906d4c92 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:28:25 +0530 Subject: [PATCH 149/353] Update 196. Delete Duplicate Emails.py --- .../196. Delete Duplicate Emails.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/196. Delete Duplicate Emails.py b/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/196. Delete Duplicate Emails.py index e69de29..7bc23de 100644 --- a/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/196. Delete Duplicate Emails.py +++ b/LeetCode SQL 50 Solution/196. Delete Duplicate Emails/196. Delete Duplicate Emails.py @@ -0,0 +1,5 @@ +import pandas as pd + +def delete_duplicate_emails(person: pd.DataFrame) -> None: + # Keep only the first occurrence of each email (smallest id) + person.drop_duplicates(subset=['email'], keep='first', inplace=True) \ No newline at end of file From 32805b808815a38daf5e860aa25ab9fd3c6a8768 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:30:47 +0530 Subject: [PATCH 150/353] Create Rising Temperature.py --- .../197. Rising Temperature/Rising Temperature.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/197. Rising Temperature/Rising Temperature.py diff --git a/LeetCode SQL 50 Solution/197. Rising Temperature/Rising Temperature.py b/LeetCode SQL 50 Solution/197. Rising Temperature/Rising Temperature.py new file mode 100644 index 0000000..e69de29 From e657134505b650f2adea373794fb2c1448f440f3 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:31:27 +0530 Subject: [PATCH 151/353] Create readme.md --- .../197. Rising Temperature/readme.md | 157 ++++++++++++++++++ 1 file changed, 157 insertions(+) create mode 100644 LeetCode SQL 50 Solution/197. Rising Temperature/readme.md diff --git a/LeetCode SQL 50 Solution/197. Rising Temperature/readme.md b/LeetCode SQL 50 Solution/197. Rising Temperature/readme.md new file mode 100644 index 0000000..79d81cd --- /dev/null +++ b/LeetCode SQL 50 Solution/197. Rising Temperature/readme.md @@ -0,0 +1,157 @@ + +# **197. Rising Temperature** + +## **Problem Statement** +You are given a table called `Weather`, which contains daily temperature records. + +### **Weather Table** +``` ++---------------+---------+ +| Column Name | Type | ++---------------+---------+ +| id | int | +| recordDate | date | +| temperature | int | ++---------------+---------+ +``` +- `id` is the **primary key**. +- Each row contains: + - `recordDate`: The **date** of the temperature record. + - `temperature`: The **temperature recorded** on that date. + +### **Task:** +Find all `id`s where the **temperature** is **higher** than the **previous day's temperature**. + +--- + +## **Example 1:** +### **Input:** +#### **Weather Table** +``` ++----+------------+-------------+ +| id | recordDate | temperature | ++----+------------+-------------+ +| 1 | 2024-08-01 | 30 | +| 2 | 2024-08-02 | 32 | +| 3 | 2024-08-03 | 31 | +| 4 | 2024-08-04 | 35 | +| 5 | 2024-08-05 | 36 | ++----+------------+-------------+ +``` +### **Output:** +``` ++----+ +| id | ++----+ +| 2 | +| 4 | +| 5 | ++----+ +``` +### **Explanation:** +- `id = 2`: `32 > 30` (08-02 > 08-01 ✅) +- `id = 3`: `31 < 32` (Skipped ❌) +- `id = 4`: `35 > 31` (08-04 > 08-03 ✅) +- `id = 5`: `36 > 35` (08-05 > 08-04 ✅) + +--- + +## **Solution Approaches** + +### **SQL Solution (Using `LAG()` Window Function)** +```sql +WITH PreviousWeatherData AS +( + SELECT + id, + recordDate, + temperature, + LAG(temperature, 1) OVER (ORDER BY recordDate) AS PreviousTemperature, + LAG(recordDate, 1) OVER (ORDER BY recordDate) AS PreviousRecordDate + FROM + Weather +) +SELECT + id +FROM + PreviousWeatherData +WHERE + temperature > PreviousTemperature +AND + recordDate = DATE_ADD(PreviousRecordDate, INTERVAL 1 DAY); +``` +**Explanation:** +- We use `LAG()` to fetch: + - The **previous day's temperature**. + - The **previous day's date**. +- The `WHERE` clause filters rows where: + - The **temperature is higher than the previous day**. + - The **date difference is exactly 1 day**. + +--- + +### **SQL Solution (Using Self Join)** +```sql +SELECT w1.id +FROM Weather w1 +JOIN Weather w2 +ON DATEDIFF(w1.recordDate, w2.recordDate) = 1 +AND w1.temperature > w2.temperature; +``` +**Explanation:** +- We **self-join** the `Weather` table. +- The condition `DATEDIFF(w1.recordDate, w2.recordDate) = 1` ensures: + - We are comparing **consecutive days**. +- The condition `w1.temperature > w2.temperature` ensures: + - We select days where the **temperature increased**. + +--- + +### **Pandas Solution** +```python +import pandas as pd + +def rising_temperature(weather: pd.DataFrame) -> pd.DataFrame: + weather.sort_values(by="recordDate", inplace=True) + weather["PreviousTemp"] = weather["temperature"].shift(1) + weather["PreviousDate"] = weather["recordDate"].shift(1) + + result = weather[ + (weather["temperature"] > weather["PreviousTemp"]) & + ((weather["recordDate"] - weather["PreviousDate"]).dt.days == 1) + ] + + return result[["id"]] +``` +**Explanation:** +- We **sort** by `recordDate`. +- We **shift** the temperature and date to get the previous day's values. +- We **filter** where: + - Temperature **increased**. + - Date difference is **1 day**. + +--- + +## **File Structure** +``` +📂 LeetCode197 +│── 📜 problem_statement.md +│── 📜 sql_lag_solution.sql +│── 📜 sql_self_join_solution.sql +│── 📜 pandas_solution.py +│── 📜 README.md +``` +- `problem_statement.md` → Contains the problem description. +- `sql_lag_solution.sql` → Contains the SQL solution using **LAG()**. +- `sql_self_join_solution.sql` → Contains the SQL solution using **Self Join**. +- `pandas_solution.py` → Contains the Pandas solution. +- `README.md` → Provides an overview of the problem and solutions. + +--- + +## **Useful Links** +- [LeetCode Problem 197](https://leetcode.com/problems/rising-temperature/) +- [SQL LAG() Function](https://www.w3schools.com/sql/sql_ref_window_functions.asp) +- [SQL JOIN](https://www.w3schools.com/sql/sql_join.asp) +- [Pandas shift()](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.shift.html) + From e3c908172155e447548bdbc553b80f2f79f1465a Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:35:55 +0530 Subject: [PATCH 152/353] oi --- .../550. Game Play Analysis IV/550. Game Play Analysis IV.sql | 2 +- LeetCode SQL 50 Solution/550. Game Play Analysis IV/readme.md | 0 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 LeetCode SQL 50 Solution/550. Game Play Analysis IV/readme.md diff --git a/LeetCode SQL 50 Solution/550. Game Play Analysis IV/550. Game Play Analysis IV.sql b/LeetCode SQL 50 Solution/550. Game Play Analysis IV/550. Game Play Analysis IV.sql index dda489d..6a83794 100644 --- a/LeetCode SQL 50 Solution/550. Game Play Analysis IV/550. Game Play Analysis IV.sql +++ b/LeetCode SQL 50 Solution/550. Game Play Analysis IV/550. Game Play Analysis IV.sql @@ -7,7 +7,7 @@ Table: Activity +--------------+---------+ | player_id | int | | device_id | int | -| event_date | date | +-- | event_date | date | | games_played | int | +--------------+---------+ (player_id, event_date) is the primary key (combination of columns with unique values) of this table. diff --git a/LeetCode SQL 50 Solution/550. Game Play Analysis IV/readme.md b/LeetCode SQL 50 Solution/550. Game Play Analysis IV/readme.md new file mode 100644 index 0000000..e69de29 From b7ea00aa90c012f00a3d9947a710c1dbf68af84b Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:36:05 +0530 Subject: [PATCH 153/353] Update readme.md --- .../550. Game Play Analysis IV/readme.md | 172 ++++++++++++++++++ 1 file changed, 172 insertions(+) diff --git a/LeetCode SQL 50 Solution/550. Game Play Analysis IV/readme.md b/LeetCode SQL 50 Solution/550. Game Play Analysis IV/readme.md index e69de29..f6974b4 100644 --- a/LeetCode SQL 50 Solution/550. Game Play Analysis IV/readme.md +++ b/LeetCode SQL 50 Solution/550. Game Play Analysis IV/readme.md @@ -0,0 +1,172 @@ +Here’s the structured format for **LeetCode 550: Game Play Analysis IV**: + +--- + +# **550. Game Play Analysis IV** + +## **Problem Statement** +You are given a table named `Activity`, which logs the gaming activity of players. + +### **Activity Table** +``` ++--------------+---------+ +| Column Name | Type | ++--------------+---------+ +| player_id | int | +| device_id | int | +| event_date | date | +| games_played | int | ++--------------+---------+ +``` +- **(player_id, event_date)** is the **primary key**. +- Each row contains: + - `player_id`: The ID of the player. + - `event_date`: The date when the player logged in. + - `games_played`: The number of games played before logging out. + +### **Task:** +Find the **fraction** of players who logged in **again** the day after their **first login date**, rounded to **2 decimal places**. + +--- + +## **Example 1:** +### **Input:** +#### **Activity Table** +``` ++-----------+-----------+------------+--------------+ +| player_id | device_id | event_date | games_played | ++-----------+-----------+------------+--------------+ +| 1 | 2 | 2016-03-01 | 5 | +| 1 | 2 | 2016-03-02 | 6 | +| 2 | 3 | 2017-06-25 | 1 | +| 3 | 1 | 2016-03-02 | 0 | +| 3 | 4 | 2018-07-03 | 5 | ++-----------+-----------+------------+--------------+ +``` +### **Output:** +``` ++-----------+ +| fraction | ++-----------+ +| 0.33 | ++-----------+ +``` +### **Explanation:** +- `player_id = 1`: First login on **2016-03-01**, logs in again on **2016-03-02** ✅ +- `player_id = 2`: First login on **2017-06-25**, no next-day login ❌ +- `player_id = 3`: First login on **2016-03-02**, no next-day login ❌ + +Total players = **3**, Players who logged in the next day = **1** → **1 / 3 = 0.33** ✅ + +--- + +## **Solution Approaches** + +### **SQL Solution (Using `JOIN` & `DATEDIFF`)** +```sql +SELECT + ROUND(( + SELECT COUNT(DISTINCT a.player_id) + FROM Activity a + INNER JOIN ( + SELECT player_id, MIN(event_date) AS first_login + FROM Activity + GROUP BY player_id + ) b + ON a.player_id = b.player_id + AND DATEDIFF(a.event_date, b.first_login) = 1 + ) / + (SELECT COUNT(DISTINCT player_id) FROM Activity), 2) AS fraction; +``` +**Explanation:** +1. **Find First Login Date per Player** + - `MIN(event_date) AS first_login` + - **Grouped by** `player_id` +2. **Find Players Who Logged in on the Next Day** + - **Join** the table with itself. + - Use `DATEDIFF(a.event_date, b.first_login) = 1` to check next-day logins. + - Count unique `player_id`s. +3. **Calculate Fraction** + - Divide by total distinct `player_id`s. + - Round to **2 decimal places**. + +--- + +### **Alternative SQL Solution (Using `EXISTS`)** +```sql +SELECT ROUND( + (SELECT COUNT(DISTINCT player_id) + FROM Activity a + WHERE EXISTS ( + SELECT 1 FROM Activity b + WHERE a.player_id = b.player_id + AND DATEDIFF(b.event_date, a.event_date) = 1 + )) / + (SELECT COUNT(DISTINCT player_id) FROM Activity), 2) AS fraction; +``` +**Explanation:** +- Checks if a player has **ANY** login exactly **one day after**. +- Uses `EXISTS` to optimize performance. + +--- + +### **Pandas Solution** +```python +import pandas as pd + +def game_play_analysis(activity: pd.DataFrame) -> pd.DataFrame: + # Get first login date for each player + first_login = activity.groupby("player_id")["event_date"].min().reset_index() + first_login.columns = ["player_id", "first_login"] + + # Merge first login date with original table + merged = activity.merge(first_login, on="player_id") + + # Filter players who logged in the next day + next_day_logins = merged[ + (merged["event_date"] - merged["first_login"]).dt.days == 1 + ]["player_id"].nunique() + + # Total unique players + total_players = activity["player_id"].nunique() + + # Calculate fraction + fraction = round(next_day_logins / total_players, 2) + + return pd.DataFrame({"fraction": [fraction]}) +``` +**Explanation:** +1. **Find First Login Date** + - Group by `player_id`, get `min(event_date)`. +2. **Merge with Original Table** + - Check if `event_date - first_login = 1 day`. +3. **Count Unique Players** + - Divide by total unique `player_id`s. + +--- + +## **File Structure** +``` +📂 LeetCode550 +│── 📜 problem_statement.md +│── 📜 sql_solution.sql +│── 📜 sql_exists_solution.sql +│── 📜 pandas_solution.py +│── 📜 README.md +``` +- `problem_statement.md` → Contains the problem description. +- `sql_solution.sql` → SQL solution using **JOIN & DATEDIFF**. +- `sql_exists_solution.sql` → SQL solution using **EXISTS**. +- `pandas_solution.py` → Pandas solution. +- `README.md` → Overview of problem and solutions. + +--- + +## **Useful Links** +- [LeetCode Problem 550](https://leetcode.com/problems/game-play-analysis-iv/) +- [SQL `DATEDIFF()`](https://www.w3schools.com/sql/func_mysql_datediff.asp) +- [Pandas `.groupby()`](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) + +--- + +This structured format provides **clear problem understanding and efficient solutions**. 🚀 \ No newline at end of file From 904d8b441f0cafec49add29906812655fec573d9 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:37:47 +0530 Subject: [PATCH 154/353] Update readme.md --- .../550. Game Play Analysis IV/readme.md | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/LeetCode SQL 50 Solution/550. Game Play Analysis IV/readme.md b/LeetCode SQL 50 Solution/550. Game Play Analysis IV/readme.md index f6974b4..51b11bd 100644 --- a/LeetCode SQL 50 Solution/550. Game Play Analysis IV/readme.md +++ b/LeetCode SQL 50 Solution/550. Game Play Analysis IV/readme.md @@ -1,14 +1,10 @@ -Here’s the structured format for **LeetCode 550: Game Play Analysis IV**: - ---- - # **550. Game Play Analysis IV** ## **Problem Statement** You are given a table named `Activity`, which logs the gaming activity of players. ### **Activity Table** -``` +```rb +--------------+---------+ | Column Name | Type | +--------------+---------+ @@ -32,7 +28,7 @@ Find the **fraction** of players who logged in **again** the day after their **f ## **Example 1:** ### **Input:** #### **Activity Table** -``` +```rb +-----------+-----------+------------+--------------+ | player_id | device_id | event_date | games_played | +-----------+-----------+------------+--------------+ @@ -44,7 +40,7 @@ Find the **fraction** of players who logged in **again** the day after their **f +-----------+-----------+------------+--------------+ ``` ### **Output:** -``` +```rb +-----------+ | fraction | +-----------+ @@ -166,7 +162,3 @@ def game_play_analysis(activity: pd.DataFrame) -> pd.DataFrame: - [LeetCode Problem 550](https://leetcode.com/problems/game-play-analysis-iv/) - [SQL `DATEDIFF()`](https://www.w3schools.com/sql/func_mysql_datediff.asp) - [Pandas `.groupby()`](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) - ---- - -This structured format provides **clear problem understanding and efficient solutions**. 🚀 \ No newline at end of file From d33a1c426c24b58375dca97f18937c3a9e9e444a Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:38:25 +0530 Subject: [PATCH 155/353] Create 550. Game Play Analysis IV.py --- .../550. Game Play Analysis IV.py | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 LeetCode SQL 50 Solution/550. Game Play Analysis IV/550. Game Play Analysis IV.py diff --git a/LeetCode SQL 50 Solution/550. Game Play Analysis IV/550. Game Play Analysis IV.py b/LeetCode SQL 50 Solution/550. Game Play Analysis IV/550. Game Play Analysis IV.py new file mode 100644 index 0000000..37cc030 --- /dev/null +++ b/LeetCode SQL 50 Solution/550. Game Play Analysis IV/550. Game Play Analysis IV.py @@ -0,0 +1,22 @@ +import pandas as pd + +def game_play_analysis(activity: pd.DataFrame) -> pd.DataFrame: + # Get first login date for each player + first_login = activity.groupby("player_id")["event_date"].min().reset_index() + first_login.columns = ["player_id", "first_login"] + + # Merge first login date with original table + merged = activity.merge(first_login, on="player_id") + + # Filter players who logged in the next day + next_day_logins = merged[ + (merged["event_date"] - merged["first_login"]).dt.days == 1 + ]["player_id"].nunique() + + # Total unique players + total_players = activity["player_id"].nunique() + + # Calculate fraction + fraction = round(next_day_logins / total_players, 2) + + return pd.DataFrame({"fraction": [fraction]}) \ No newline at end of file From 8fcb4beec9439d4df15533d956da1fd58d84aac0 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:43:19 +0530 Subject: [PATCH 156/353] Create readme.md --- .../570. Managers with at Least 5 Direct Reports/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports/readme.md diff --git a/LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports/readme.md b/LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports/readme.md new file mode 100644 index 0000000..e69de29 From 803c3594413fabc39f6afa3bb4a584b4f32c8ca6 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:43:29 +0530 Subject: [PATCH 157/353] Update readme.md --- .../readme.md | 147 ++++++++++++++++++ 1 file changed, 147 insertions(+) diff --git a/LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports/readme.md b/LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports/readme.md index e69de29..5ff9e4d 100644 --- a/LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports/readme.md +++ b/LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports/readme.md @@ -0,0 +1,147 @@ +Below is a structured README.md snippet for **LeetCode 570: Managers with at Least 5 Direct Reports**, including the problem statement, examples, solution approaches (with SQL and Pandas), file structure, and useful links. + +--- + +# **570. Managers with at Least 5 Direct Reports** + +## **Problem Statement** +You are given a table `Employee` that holds all employee records, including their managers. Every employee has an `id`, a `name`, a `department`, and a `managerId`. + +### **Employee Table** +``` ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| id | int | +| name | varchar | +| department | varchar | +| managerId | int | ++-------------+---------+ +``` +- `id` is the **primary key**. +- `managerId` is a **foreign key** that references the `id` of a manager in the same table. +- If `managerId` is `null`, then the employee does not have a manager. +- No employee will be the manager of themselves. + +### **Task:** +Write a solution to find all managers (i.e., employees who appear as a managerId in the table) with **at least five direct reports**. + +The result table should display the manager’s name in any order. + +--- + +## **Example 1:** + +### **Input:** +#### **Employee Table** +``` ++-----+-------+------------+-----------+ +| id | name | department | managerId | ++-----+-------+------------+-----------+ +| 101 | John | A | null | +| 102 | Dan | A | 101 | +| 103 | James | A | 101 | +| 104 | Amy | A | 101 | +| 105 | Anne | A | 101 | +| 106 | Ron | B | 101 | ++-----+-------+------------+-----------+ +``` + +### **Output:** +``` ++------+ +| name | ++------+ +| John | ++------+ +``` + +### **Explanation:** +- **John** (id = 101) is the only manager who has **5 direct reports** (ids 102, 103, 104, 105, and 106). + +--- + +## **Solution Approaches** + +### **SQL Solution (Using Subquery)** +```sql +SELECT name +FROM Employee +WHERE id IN ( + SELECT managerId + FROM Employee + GROUP BY managerId + HAVING COUNT(*) >= 5 +); +``` +**Explanation:** +- The subquery groups the `Employee` table by `managerId` and counts the number of direct reports. +- Only managers with a count of **5 or more** are selected. +- The outer query then retrieves the names of those managers. + +--- + +### **SQL Solution (Using JOIN and Window Functions)** +```sql +SELECT name +FROM Employee +JOIN ( + SELECT managerId + FROM Employee + GROUP BY managerId + HAVING COUNT(*) >= 5 +) AS managers +ON Employee.id = managers.managerId; +``` +**Explanation:** +- The inner query identifies all `managerId`s with **at least five** direct reports. +- The outer query then joins on the `Employee` table to fetch the corresponding manager names. + +--- + +### **Pandas Solution** +```python +import pandas as pd + +def managers_with_five_reports(employee: pd.DataFrame) -> None: + # Count direct reports for each manager + report_counts = employee.groupby('managerId').size().reset_index(name='report_count') + + # Identify managerIds with at least five direct reports + valid_managers = report_counts[report_counts['report_count'] >= 5]['managerId'] + + # Filter the Employee table to get manager names + # Note: Since managerId can be null, we ignore them during merge. + result = employee[employee['id'].isin(valid_managers)][['name']] + + # Modify the original DataFrame in place if required. + employee = result + print(result) +``` +**Explanation:** +- Group the table by `managerId` and count the number of direct reports. +- Filter out the managers having at least 5 direct reports. +- Finally, retrieve the names of these managers. + +--- + +## **File Structure** +``` +LeetCode570/ +├── problem_statement.md # Contains the problem description and constraints. +├── sql_subquery_solution.sql # SQL solution using subquery. +├── sql_join_solution.sql # SQL solution using JOIN. +├── pandas_solution.py # Pandas solution for Python users. +├── README.md # Overview of the problem and available solutions. +``` + +--- + +## **Useful Links** +- [LeetCode Problem 570](https://leetcode.com/problems/managers-with-at-least-5-direct-reports/) +- [SQL DELETE and JOIN Syntax](https://www.w3schools.com/sql/sql_join.asp) +- [Pandas Documentation](https://pandas.pydata.org/docs/) + +--- + +This structured format provides a clear problem overview, multiple solution approaches, and necessary file organization to help contributors quickly understand and navigate the project. Happy coding! 🚀 \ No newline at end of file From 49adef990a19a5181711fc5396470aab874fd696 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:44:30 +0530 Subject: [PATCH 158/353] Update readme.md --- .../570. Managers with at Least 5 Direct Reports/readme.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports/readme.md b/LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports/readme.md index 5ff9e4d..407b040 100644 --- a/LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports/readme.md +++ b/LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports/readme.md @@ -1,7 +1,3 @@ -Below is a structured README.md snippet for **LeetCode 570: Managers with at Least 5 Direct Reports**, including the problem statement, examples, solution approaches (with SQL and Pandas), file structure, and useful links. - ---- - # **570. Managers with at Least 5 Direct Reports** ## **Problem Statement** @@ -142,6 +138,3 @@ LeetCode570/ - [SQL DELETE and JOIN Syntax](https://www.w3schools.com/sql/sql_join.asp) - [Pandas Documentation](https://pandas.pydata.org/docs/) ---- - -This structured format provides a clear problem overview, multiple solution approaches, and necessary file organization to help contributors quickly understand and navigate the project. Happy coding! 🚀 \ No newline at end of file From a2a2b2b744534ff2e8659ec722d59c824f34c00d Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:44:44 +0530 Subject: [PATCH 159/353] Create 570. Managers with at Least 5 Direct Reports.py --- .../570. Managers with at Least 5 Direct Reports.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports/570. Managers with at Least 5 Direct Reports.py diff --git a/LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports/570. Managers with at Least 5 Direct Reports.py b/LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports/570. Managers with at Least 5 Direct Reports.py new file mode 100644 index 0000000..e69de29 From f8cf2775bded05747e9290279ce50f295baabbcc Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:45:39 +0530 Subject: [PATCH 160/353] Update 570. Managers with at Least 5 Direct Reports.py --- ...0. Managers with at Least 5 Direct Reports.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports/570. Managers with at Least 5 Direct Reports.py b/LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports/570. Managers with at Least 5 Direct Reports.py index e69de29..73f3df8 100644 --- a/LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports/570. Managers with at Least 5 Direct Reports.py +++ b/LeetCode SQL 50 Solution/570. Managers with at Least 5 Direct Reports/570. Managers with at Least 5 Direct Reports.py @@ -0,0 +1,16 @@ +import pandas as pd + +def managers_with_five_reports(employee: pd.DataFrame) -> None: + # Count direct reports for each manager + report_counts = employee.groupby('managerId').size().reset_index(name='report_count') + + # Identify managerIds with at least five direct reports + valid_managers = report_counts[report_counts['report_count'] >= 5]['managerId'] + + # Filter the Employee table to get manager names + # Note: Since managerId can be null, we ignore them during merge. + result = employee[employee['id'].isin(valid_managers)][['name']] + + # Modify the original DataFrame in place if required. + employee = result + print(result) \ No newline at end of file From c21bd402d5040e67bf440ec215ff2ccb96ae8b3a Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:47:17 +0530 Subject: [PATCH 161/353] Create readme.md --- LeetCode SQL 50 Solution/584. Find Customer Referee/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/584. Find Customer Referee/readme.md diff --git a/LeetCode SQL 50 Solution/584. Find Customer Referee/readme.md b/LeetCode SQL 50 Solution/584. Find Customer Referee/readme.md new file mode 100644 index 0000000..e69de29 From ebec9dc0150083e141de3d5b947b5c637602469f Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:47:32 +0530 Subject: [PATCH 162/353] Create 584. Find Customer Referee.py --- .../584. Find Customer Referee/584. Find Customer Referee.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/584. Find Customer Referee/584. Find Customer Referee.py diff --git a/LeetCode SQL 50 Solution/584. Find Customer Referee/584. Find Customer Referee.py b/LeetCode SQL 50 Solution/584. Find Customer Referee/584. Find Customer Referee.py new file mode 100644 index 0000000..e69de29 From fdd46337f0c9683bcb630d2fb757828dfa86db26 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:48:17 +0530 Subject: [PATCH 163/353] Update readme.md --- .../584. Find Customer Referee/readme.md | 111 ++++++++++++++++++ 1 file changed, 111 insertions(+) diff --git a/LeetCode SQL 50 Solution/584. Find Customer Referee/readme.md b/LeetCode SQL 50 Solution/584. Find Customer Referee/readme.md index e69de29..75a745c 100644 --- a/LeetCode SQL 50 Solution/584. Find Customer Referee/readme.md +++ b/LeetCode SQL 50 Solution/584. Find Customer Referee/readme.md @@ -0,0 +1,111 @@ +Below is a structured README.md snippet for **LeetCode 584: Find Customer Referee**: + +--- + +# **584. Find Customer Referee** + +## **Problem Statement** +You are given a table `Customer` that stores customer details along with the ID of the customer who referred them. + +### **Customer Table** +``` ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| id | int | +| name | varchar | +| referee_id | int | ++-------------+---------+ +``` +- `id` is the **primary key**. +- Each row represents a customer with their `id`, `name`, and `referee_id`. +- `referee_id` indicates the customer who referred them. It can be **NULL** if no one referred the customer. + +### **Task:** +Find the names of the customers who are **not referred** by the customer with `id = 2`. + +--- + +## **Example 1:** + +### **Input:** +#### **Customer Table** +``` ++----+------+------------+ +| id | name | referee_id | ++----+------+------------+ +| 1 | Will | null | +| 2 | Jane | null | +| 3 | Alex | 2 | +| 4 | Bill | null | +| 5 | Zack | 1 | +| 6 | Mark | 2 | ++----+------+------------+ +``` + +### **Output:** +``` ++------+ +| name | ++------+ +| Will | +| Jane | +| Bill | +| Zack | ++------+ +``` + +### **Explanation:** +- **Alex** (id = 3) and **Mark** (id = 6) are referred by the customer with `id = 2` and are excluded. +- The remaining customers (**Will**, **Jane**, **Bill**, **Zack**) are not referred by the customer with `id = 2`. + +--- + +## **Solution Approaches** + +### **SQL Solution (Using WHERE Clause)** +```sql +SELECT name +FROM Customer +WHERE referee_id != 2 OR referee_id IS NULL; +``` +**Explanation:** +- The query selects customer names where `referee_id` is either not equal to `2` or is `NULL`. +- This effectively filters out customers referred by the customer with `id = 2`. + +--- + +### **Pandas Solution** +```python +import pandas as pd + +def find_customer_referee(customer: pd.DataFrame) -> pd.DataFrame: + # Filter rows where referee_id is not equal to 2 or is null + result = customer[(customer['referee_id'] != 2) | (customer['referee_id'].isnull())][['name']] + return result +``` +**Explanation:** +- The Pandas solution filters the DataFrame for rows where `referee_id` is not 2 or is `NaN`. +- It then returns the `name` column containing the desired customer names. + +--- + +## **File Structure** +``` +LeetCode584/ +├── problem_statement.md # Contains the problem description and constraints. +├── sql_solution.sql # Contains the SQL solution. +├── pandas_solution.py # Contains the Pandas solution. +├── README.md # Overview of the problem and solutions. +``` + +--- + +## **Useful Links** +- [LeetCode Problem 584](https://leetcode.com/problems/find-customer-referee/) +- [SQL WHERE Clause Documentation](https://www.w3schools.com/sql/sql_where.asp) +- [Pandas Filtering DataFrames](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html) + +--- + +This structured format provides a clear problem overview, multiple solution approaches, file organization, and useful references to help contributors understand and work on the problem. Happy coding! 🚀 \ No newline at end of file From 39c5827749ad6f822259a8f5c388457b331cf141 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:48:31 +0530 Subject: [PATCH 164/353] Update readme.md --- .../584. Find Customer Referee/readme.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/LeetCode SQL 50 Solution/584. Find Customer Referee/readme.md b/LeetCode SQL 50 Solution/584. Find Customer Referee/readme.md index 75a745c..cb973db 100644 --- a/LeetCode SQL 50 Solution/584. Find Customer Referee/readme.md +++ b/LeetCode SQL 50 Solution/584. Find Customer Referee/readme.md @@ -1,6 +1,4 @@ -Below is a structured README.md snippet for **LeetCode 584: Find Customer Referee**: ---- # **584. Find Customer Referee** @@ -106,6 +104,3 @@ LeetCode584/ - [SQL WHERE Clause Documentation](https://www.w3schools.com/sql/sql_where.asp) - [Pandas Filtering DataFrames](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html) ---- - -This structured format provides a clear problem overview, multiple solution approaches, file organization, and useful references to help contributors understand and work on the problem. Happy coding! 🚀 \ No newline at end of file From d21d28ba2741e3a2e65785594884635a124b93c7 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:49:06 +0530 Subject: [PATCH 165/353] fiel --- .../584. Find Customer Referee.py | 6 ++++++ .../584. Find Customer Referee/readme.md | 2 -- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/LeetCode SQL 50 Solution/584. Find Customer Referee/584. Find Customer Referee.py b/LeetCode SQL 50 Solution/584. Find Customer Referee/584. Find Customer Referee.py index e69de29..6685391 100644 --- a/LeetCode SQL 50 Solution/584. Find Customer Referee/584. Find Customer Referee.py +++ b/LeetCode SQL 50 Solution/584. Find Customer Referee/584. Find Customer Referee.py @@ -0,0 +1,6 @@ +import pandas as pd + +def find_customer_referee(customer: pd.DataFrame) -> pd.DataFrame: + # Filter rows where referee_id is not equal to 2 or is null + result = customer[(customer['referee_id'] != 2) | (customer['referee_id'].isnull())][['name']] + return result \ No newline at end of file diff --git a/LeetCode SQL 50 Solution/584. Find Customer Referee/readme.md b/LeetCode SQL 50 Solution/584. Find Customer Referee/readme.md index cb973db..9689cf0 100644 --- a/LeetCode SQL 50 Solution/584. Find Customer Referee/readme.md +++ b/LeetCode SQL 50 Solution/584. Find Customer Referee/readme.md @@ -1,5 +1,3 @@ - - # **584. Find Customer Referee** ## **Problem Statement** From 91e40bd9e315bd6f43eab1e34ba8251d3478f543 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:49:14 +0530 Subject: [PATCH 166/353] Update 584. Find Customer Referee.py --- .../584. Find Customer Referee.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/LeetCode SQL 50 Solution/584. Find Customer Referee/584. Find Customer Referee.py b/LeetCode SQL 50 Solution/584. Find Customer Referee/584. Find Customer Referee.py index 6685391..e69de29 100644 --- a/LeetCode SQL 50 Solution/584. Find Customer Referee/584. Find Customer Referee.py +++ b/LeetCode SQL 50 Solution/584. Find Customer Referee/584. Find Customer Referee.py @@ -1,6 +0,0 @@ -import pandas as pd - -def find_customer_referee(customer: pd.DataFrame) -> pd.DataFrame: - # Filter rows where referee_id is not equal to 2 or is null - result = customer[(customer['referee_id'] != 2) | (customer['referee_id'].isnull())][['name']] - return result \ No newline at end of file From 90489b9dc2f8d59909c0153f128b6a7aecf83036 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:49:19 +0530 Subject: [PATCH 167/353] Update 584. Find Customer Referee.py --- .../584. Find Customer Referee.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/LeetCode SQL 50 Solution/584. Find Customer Referee/584. Find Customer Referee.py b/LeetCode SQL 50 Solution/584. Find Customer Referee/584. Find Customer Referee.py index e69de29..6685391 100644 --- a/LeetCode SQL 50 Solution/584. Find Customer Referee/584. Find Customer Referee.py +++ b/LeetCode SQL 50 Solution/584. Find Customer Referee/584. Find Customer Referee.py @@ -0,0 +1,6 @@ +import pandas as pd + +def find_customer_referee(customer: pd.DataFrame) -> pd.DataFrame: + # Filter rows where referee_id is not equal to 2 or is null + result = customer[(customer['referee_id'] != 2) | (customer['referee_id'].isnull())][['name']] + return result \ No newline at end of file From daf5cf655085514d64096d4cafae14abbe7d0ea9 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:51:16 +0530 Subject: [PATCH 168/353] j --- .../585. Investments in 2016/585. Investments in 2016.py | 0 LeetCode SQL 50 Solution/585. Investments in 2016/readme.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/585. Investments in 2016/585. Investments in 2016.py create mode 100644 LeetCode SQL 50 Solution/585. Investments in 2016/readme.md diff --git a/LeetCode SQL 50 Solution/585. Investments in 2016/585. Investments in 2016.py b/LeetCode SQL 50 Solution/585. Investments in 2016/585. Investments in 2016.py new file mode 100644 index 0000000..e69de29 diff --git a/LeetCode SQL 50 Solution/585. Investments in 2016/readme.md b/LeetCode SQL 50 Solution/585. Investments in 2016/readme.md new file mode 100644 index 0000000..e69de29 From 9e7cb82e52e5c000bff00039b854a4a739434bdc Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:51:30 +0530 Subject: [PATCH 169/353] Update readme.md --- .../585. Investments in 2016/readme.md | 147 ++++++++++++++++++ 1 file changed, 147 insertions(+) diff --git a/LeetCode SQL 50 Solution/585. Investments in 2016/readme.md b/LeetCode SQL 50 Solution/585. Investments in 2016/readme.md index e69de29..cdac45f 100644 --- a/LeetCode SQL 50 Solution/585. Investments in 2016/readme.md +++ b/LeetCode SQL 50 Solution/585. Investments in 2016/readme.md @@ -0,0 +1,147 @@ +Below is the structured README.md file for **LeetCode 585: Investments in 2016**, including the problem statement, example, solution approaches (SQL and Pandas), file structure, and useful links. + +--- + +# **585. Investments in 2016** + +## **Problem Statement** +You are given a table `Insurance` that contains details about policy investments. + +### **Insurance Table** +``` ++-------------+-------+ +| Column Name | Type | ++-------------+-------+ +| pid | int | +| tiv_2015 | float | +| tiv_2016 | float | +| lat | float | +| lon | float | ++-------------+-------+ +``` +- `pid` is the **primary key**. +- `tiv_2015` is the total investment value in **2015**. +- `tiv_2016` is the total investment value in **2016**. +- `lat` and `lon` represent the **latitude** and **longitude** of the policyholder's city. Both values are guaranteed not to be `NULL`. + +### **Task:** +Report the **sum** of all `tiv_2016` values (rounded to two decimal places) for all policyholders who: +1. Have the **same `tiv_2015`** value as one or more other policyholders. +2. Are **not located** in the same city as any other policyholder (i.e., the `(lat, lon)` attribute pair is **unique**). + +--- + +## **Example 1:** + +### **Input:** +#### **Insurance Table** +``` ++-----+----------+----------+-----+-----+ +| pid | tiv_2015 | tiv_2016 | lat | lon | ++-----+----------+----------+-----+-----+ +| 1 | 10 | 5 | 10 | 10 | +| 2 | 20 | 20 | 20 | 20 | +| 3 | 10 | 30 | 20 | 20 | +| 4 | 10 | 40 | 40 | 40 | ++-----+----------+----------+-----+-----+ +``` + +### **Output:** +``` ++----------+ +| tiv_2016 | ++----------+ +| 45.00 | ++----------+ +``` + +### **Explanation:** +- The policyholders with `tiv_2015 = 10` appear in multiple rows. +- Among these, only the records with **unique locations** count. +- Policy `pid = 1` and `pid = 4` meet both criteria, so the result is the sum of their `tiv_2016`: **5 + 40 = 45.00**. + +--- + +## **Solution Approaches** + +### **SQL Solution (Using Window Functions)** +```sql +WITH InsuranceWithCounts AS ( + SELECT + tiv_2016, + COUNT(*) OVER(PARTITION BY tiv_2015) AS tiv_2015_count, + COUNT(*) OVER(PARTITION BY lat, lon) AS city_count + FROM Insurance +) +SELECT ROUND(SUM(tiv_2016), 2) AS tiv_2016 +FROM InsuranceWithCounts +WHERE tiv_2015_count > 1 + AND city_count = 1; +``` +**Explanation:** +- The CTE `InsuranceWithCounts` computes: + - `tiv_2015_count`: Number of records with the same `tiv_2015`. + - `city_count`: Number of records with the same `(lat, lon)` pair. +- The outer query filters rows where: + - `tiv_2015_count > 1` (i.e., policyholders share their 2015 investment value with others). + - `city_count = 1` (i.e., their location is unique). +- Finally, it sums `tiv_2016` and rounds the result to 2 decimal places. + +--- + +### **Pandas Solution** +```python +import pandas as pd + +def investments_in_2016(insurance: pd.DataFrame) -> pd.DataFrame: + # Count the number of occurrences for each tiv_2015 value + insurance['tiv_2015_count'] = insurance.groupby('tiv_2015')['tiv_2015'].transform('count') + + # Count the number of occurrences for each (lat, lon) pair + insurance['city_count'] = insurance.groupby(['lat', 'lon'])['lat'].transform('count') + + # Filter rows that meet both criteria: + # 1. tiv_2015 appears more than once. + # 2. The location (lat, lon) is unique (appears only once). + valid_rows = insurance[(insurance['tiv_2015_count'] > 1) & (insurance['city_count'] == 1)] + + # Calculate the sum of tiv_2016 and round to 2 decimal places + total_tiv_2016 = round(valid_rows['tiv_2016'].sum(), 2) + + # Return result as a DataFrame + return pd.DataFrame({'tiv_2016': [total_tiv_2016]}) + +# Example usage: +# df = pd.read_csv('insurance.csv') +# print(investments_in_2016(df)) +``` +**Explanation:** +- The code computes two new columns: + - `tiv_2015_count` for the number of policyholders with the same 2015 investment. + - `city_count` for the count of policyholders in each unique city (using `(lat, lon)`). +- Rows that meet the conditions are filtered. +- The `tiv_2016` values of the valid rows are summed and rounded to 2 decimal places. +- The result is returned as a DataFrame. + +--- + +## **File Structure** +``` +LeetCode585/ +├── problem_statement.md # Contains the problem description and constraints. +├── sql_solution.sql # SQL solution using window functions. +├── pandas_solution.py # Pandas solution for Python users. +├── README.md # Overview of the problem and available solutions. +``` + +--- + +## **Useful Links** +- [LeetCode Problem 585](https://leetcode.com/problems/investments-in-2016/) +- [SQL Window Functions](https://www.w3schools.com/sql/sql_window.asp) +- [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) +- [Pandas Transform Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.transform.html) + +--- + +This structured format provides a clear overview of the problem and multiple solution approaches. Happy coding! 🚀 \ No newline at end of file From ed601624f0f04558c10909548e74a767e3a69cbb Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:51:45 +0530 Subject: [PATCH 170/353] Update readme.md --- LeetCode SQL 50 Solution/585. Investments in 2016/readme.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/LeetCode SQL 50 Solution/585. Investments in 2016/readme.md b/LeetCode SQL 50 Solution/585. Investments in 2016/readme.md index cdac45f..4314981 100644 --- a/LeetCode SQL 50 Solution/585. Investments in 2016/readme.md +++ b/LeetCode SQL 50 Solution/585. Investments in 2016/readme.md @@ -1,6 +1,4 @@ -Below is the structured README.md file for **LeetCode 585: Investments in 2016**, including the problem statement, example, solution approaches (SQL and Pandas), file structure, and useful links. ---- # **585. Investments in 2016** @@ -141,7 +139,3 @@ LeetCode585/ - [SQL Window Functions](https://www.w3schools.com/sql/sql_window.asp) - [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) - [Pandas Transform Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.transform.html) - ---- - -This structured format provides a clear overview of the problem and multiple solution approaches. Happy coding! 🚀 \ No newline at end of file From c329b6f251865ee367e6e9d9591e8fdbae16f634 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:52:19 +0530 Subject: [PATCH 171/353] Update 585. Investments in 2016.py --- .../585. Investments in 2016.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/LeetCode SQL 50 Solution/585. Investments in 2016/585. Investments in 2016.py b/LeetCode SQL 50 Solution/585. Investments in 2016/585. Investments in 2016.py index e69de29..54c7c50 100644 --- a/LeetCode SQL 50 Solution/585. Investments in 2016/585. Investments in 2016.py +++ b/LeetCode SQL 50 Solution/585. Investments in 2016/585. Investments in 2016.py @@ -0,0 +1,19 @@ +import pandas as pd + +def investments_in_2016(insurance: pd.DataFrame) -> pd.DataFrame: + # Count the number of occurrences for each tiv_2015 value + insurance['tiv_2015_count'] = insurance.groupby('tiv_2015')['tiv_2015'].transform('count') + + # Count the number of occurrences for each (lat, lon) pair + insurance['city_count'] = insurance.groupby(['lat', 'lon'])['lat'].transform('count') + + # Filter rows that meet both criteria: + # 1. tiv_2015 appears more than once. + # 2. The location (lat, lon) is unique (appears only once). + valid_rows = insurance[(insurance['tiv_2015_count'] > 1) & (insurance['city_count'] == 1)] + + # Calculate the sum of tiv_2016 and round to 2 decimal places + total_tiv_2016 = round(valid_rows['tiv_2016'].sum(), 2) + + # Return result as a DataFrame + return pd.DataFrame({'tiv_2016': [total_tiv_2016]}) \ No newline at end of file From e2a869d87aff427e7d61c1883c363f0d7f8dad51 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:55:08 +0530 Subject: [PATCH 172/353] Create 595. Big Countries.py --- LeetCode SQL 50 Solution/595. Big Countries/595. Big Countries.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/595. Big Countries/595. Big Countries.py diff --git a/LeetCode SQL 50 Solution/595. Big Countries/595. Big Countries.py b/LeetCode SQL 50 Solution/595. Big Countries/595. Big Countries.py new file mode 100644 index 0000000..e69de29 From 38a8de491101e2fe7686f6834bfddb3c1ef6b3f0 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:56:07 +0530 Subject: [PATCH 173/353] Create readme.md --- .../595. Big Countries/readme.md | 142 ++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 LeetCode SQL 50 Solution/595. Big Countries/readme.md diff --git a/LeetCode SQL 50 Solution/595. Big Countries/readme.md b/LeetCode SQL 50 Solution/595. Big Countries/readme.md new file mode 100644 index 0000000..5f62064 --- /dev/null +++ b/LeetCode SQL 50 Solution/595. Big Countries/readme.md @@ -0,0 +1,142 @@ +Below is the structured README.md snippet for **LeetCode 595: Big Countries**, including the problem statement, example, solution approaches (SQL and Pandas), file structure, and useful links. + +--- + +# **595. Big Countries** + +## **Problem Statement** +You are given a table `World` that contains information about countries. + +### **World Table** +``` ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| name | varchar | +| continent | varchar | +| area | int | +| population | int | +| gdp | bigint | ++-------------+---------+ +``` +- `name` is the **primary key**. +- Each row contains: + - `name`: Name of the country. + - `continent`: Continent the country belongs to. + - `area`: Area of the country (in km²). + - `population`: Population of the country. + - `gdp`: GDP of the country. + +### **Task:** +A country is considered **big** if: +- It has an **area** of at least **3,000,000 km²**, **or** +- It has a **population** of at least **25,000,000**. + +Write a solution to find the **name**, **population**, and **area** of the big countries. + +Return the result table in **any order**. + +--- + +## **Example 1:** + +### **Input:** +#### **World Table** +``` ++-------------+-----------+---------+------------+--------------+ +| name | continent | area | population | gdp | ++-------------+-----------+---------+------------+--------------+ +| Afghanistan | Asia | 652230 | 25500100 | 20343000000 | +| Albania | Europe | 28748 | 2831741 | 12960000000 | +| Algeria | Africa | 2381741 | 37100000 | 188681000000 | +| Andorra | Europe | 468 | 78115 | 3712000000 | +| Angola | Africa | 1246700 | 20609294 | 100990000000 | ++-------------+-----------+---------+------------+--------------+ +``` + +### **Output:** +``` ++-------------+------------+---------+ +| name | population | area | ++-------------+------------+---------+ +| Afghanistan | 25500100 | 652230 | +| Algeria | 37100000 | 2381741 | ++-------------+------------+---------+ +``` + +### **Explanation:** +- **Afghanistan** is not big by area (652,230 < 3,000,000) but is big by population (25,500,100 ≥ 25,000,000). +- **Algeria** is big by population (37,100,000 ≥ 25,000,000), even though its area (2,381,741) is less than 3,000,000. +- The other countries do not meet either condition. + +--- + +## **Solution Approaches** + +### **SQL Solution (Using UNION)** +```sql +SELECT name, population, area +FROM World +WHERE area >= 3000000 +UNION +SELECT name, population, area +FROM World +WHERE population >= 25000000; +``` +**Explanation:** +- The first `SELECT` returns countries with an area of at least 3,000,000 km². +- The second `SELECT` returns countries with a population of at least 25,000,000. +- `UNION` combines these two result sets, ensuring unique rows. + +--- + +### **SQL Alternative (Using OR)** +```sql +SELECT name, population, area +FROM World +WHERE area >= 3000000 OR population >= 25000000; +``` +**Explanation:** +- This query uses a single `SELECT` statement with an `OR` condition to capture countries that meet either criterion. + +--- + +### **Pandas Solution** +```python +import pandas as pd + +def big_countries(world: pd.DataFrame) -> pd.DataFrame: + # Filter countries that are considered big by either area or population + result = world[(world['area'] >= 3000000) | (world['population'] >= 25000000)][['name', 'population', 'area']] + return result + +# Example usage: +# world_df = pd.read_csv('world.csv') +# print(big_countries(world_df)) +``` +**Explanation:** +- The Pandas solution filters the DataFrame based on the condition that `area` is at least 3,000,000 or `population` is at least 25,000,000. +- It then returns the columns `name`, `population`, and `area`. + +--- + +## **File Structure** +``` +LeetCode595/ +├── problem_statement.md # Contains the problem description and constraints. +├── sql_union_solution.sql # SQL solution using UNION. +├── sql_or_solution.sql # SQL alternative solution using OR. +├── pandas_solution.py # Pandas solution for Python users. +├── README.md # Overview of the problem and solutions. +``` + +--- + +## **Useful Links** +- [LeetCode Problem 595](https://leetcode.com/problems/big-countries/) +- [SQL WHERE Clause](https://www.w3schools.com/sql/sql_where.asp) +- [Pandas Documentation](https://pandas.pydata.org/docs/) + +--- + +This structured format provides a comprehensive overview of the problem along with multiple solution approaches. Happy coding! 🚀 \ No newline at end of file From b292abedf02fb6e269ea9246d99551d07580b1a9 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:56:24 +0530 Subject: [PATCH 174/353] Update readme.md --- LeetCode SQL 50 Solution/595. Big Countries/readme.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/LeetCode SQL 50 Solution/595. Big Countries/readme.md b/LeetCode SQL 50 Solution/595. Big Countries/readme.md index 5f62064..932d777 100644 --- a/LeetCode SQL 50 Solution/595. Big Countries/readme.md +++ b/LeetCode SQL 50 Solution/595. Big Countries/readme.md @@ -1,7 +1,3 @@ -Below is the structured README.md snippet for **LeetCode 595: Big Countries**, including the problem statement, example, solution approaches (SQL and Pandas), file structure, and useful links. - ---- - # **595. Big Countries** ## **Problem Statement** @@ -137,6 +133,3 @@ LeetCode595/ - [SQL WHERE Clause](https://www.w3schools.com/sql/sql_where.asp) - [Pandas Documentation](https://pandas.pydata.org/docs/) ---- - -This structured format provides a comprehensive overview of the problem along with multiple solution approaches. Happy coding! 🚀 \ No newline at end of file From 1a4b42a7b5b7b66a64dbc323079934d513e259e0 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:56:48 +0530 Subject: [PATCH 175/353] Update 595. Big Countries.py --- .../595. Big Countries/595. Big Countries.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/LeetCode SQL 50 Solution/595. Big Countries/595. Big Countries.py b/LeetCode SQL 50 Solution/595. Big Countries/595. Big Countries.py index e69de29..83c6cd5 100644 --- a/LeetCode SQL 50 Solution/595. Big Countries/595. Big Countries.py +++ b/LeetCode SQL 50 Solution/595. Big Countries/595. Big Countries.py @@ -0,0 +1,6 @@ +import pandas as pd + +def big_countries(world: pd.DataFrame) -> pd.DataFrame: + # Filter countries that are considered big by either area or population + result = world[(world['area'] >= 3000000) | (world['population'] >= 25000000)][['name', 'population', 'area']] + return result \ No newline at end of file From 2472c0231e6712a10f4647c01b851ffe539d6356 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:01:23 +0530 Subject: [PATCH 176/353] Create 596. Classes More Than 5 Students.py --- .../596. Classes More Than 5 Students.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/596. Classes More Than 5 Students/596. Classes More Than 5 Students.py diff --git a/LeetCode SQL 50 Solution/596. Classes More Than 5 Students/596. Classes More Than 5 Students.py b/LeetCode SQL 50 Solution/596. Classes More Than 5 Students/596. Classes More Than 5 Students.py new file mode 100644 index 0000000..e69de29 From b743e2610c3c1a920fd55faef57a3b1990db48a2 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:01:46 +0530 Subject: [PATCH 177/353] Create readme.md --- .../596. Classes More Than 5 Students/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/596. Classes More Than 5 Students/readme.md diff --git a/LeetCode SQL 50 Solution/596. Classes More Than 5 Students/readme.md b/LeetCode SQL 50 Solution/596. Classes More Than 5 Students/readme.md new file mode 100644 index 0000000..e69de29 From ff5eba252637db5dcc4880e94139fc9e5f872ec3 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:01:54 +0530 Subject: [PATCH 178/353] Update readme.md --- .../readme.md | 117 ++++++++++++++++++ 1 file changed, 117 insertions(+) diff --git a/LeetCode SQL 50 Solution/596. Classes More Than 5 Students/readme.md b/LeetCode SQL 50 Solution/596. Classes More Than 5 Students/readme.md index e69de29..50055a2 100644 --- a/LeetCode SQL 50 Solution/596. Classes More Than 5 Students/readme.md +++ b/LeetCode SQL 50 Solution/596. Classes More Than 5 Students/readme.md @@ -0,0 +1,117 @@ +Below is the structured README.md snippet for **LeetCode 596: Classes More Than 5 Students** including the problem statement, example, solution approaches (SQL and Pandas), file structure, and useful links. + +--- + +# **596. Classes More Than 5 Students** + +## **Problem Statement** +You are given a table `Courses` that contains the names of students and the class in which they are enrolled. + +### **Courses Table** +``` ++---------+---------+ +| Column | Type | ++---------+---------+ +| student | varchar | +| class | varchar | ++---------+---------+ +``` +- The combination of `(student, class)` is the **primary key**. +- Each row indicates the name of a student and the class they are enrolled in. + +### **Task:** +Write a solution to find all the classes that have **at least five students**. + +Return the result table in **any order**. + +--- + +## **Example 1:** + +### **Input:** +``` +Courses table: ++---------+----------+ +| student | class | ++---------+----------+ +| A | Math | +| B | English | +| C | Math | +| D | Biology | +| E | Math | +| F | Computer | +| G | Math | +| H | Math | +| I | Math | ++---------+----------+ +``` + +### **Output:** +``` ++---------+ +| class | ++---------+ +| Math | ++---------+ +``` + +### **Explanation:** +- **Math** has 6 students, so it is included. +- **English**, **Biology**, and **Computer** have fewer than 5 students, so they are excluded. + +--- + +## **Solution Approaches** + +### **SQL Solution** +```sql +SELECT class +FROM Courses +GROUP BY class +HAVING COUNT(student) >= 5; +``` +**Explanation:** +- The query groups records by `class`. +- The `HAVING` clause filters out groups with fewer than 5 students. + +--- + +### **Pandas Solution** +```python +import pandas as pd + +def classes_with_five_or_more_students(courses: pd.DataFrame) -> pd.DataFrame: + # Group by 'class' and count the number of students + result = courses.groupby('class').filter(lambda x: len(x) >= 5) + # Return only the distinct class names + return result[['class']].drop_duplicates().reset_index(drop=True) + +# Example usage: +# courses_df = pd.read_csv('courses.csv') +# print(classes_with_five_or_more_students(courses_df)) +``` +**Explanation:** +- The Pandas solution groups the DataFrame by `class` and filters groups with 5 or more students. +- It then extracts and returns the distinct class names. + +--- + +## **File Structure** +``` +LeetCode596/ +├── problem_statement.md # Contains the problem description and constraints. +├── sql_solution.sql # Contains the SQL solution. +├── pandas_solution.py # Contains the Pandas solution for Python users. +├── README.md # Overview of the problem and available solutions. +``` + +--- + +## **Useful Links** +- [LeetCode Problem 596](https://leetcode.com/problems/classes-more-than-5-students/) +- [SQL GROUP BY and HAVING Clause](https://www.w3schools.com/sql/sql_groupby.asp) +- [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) + +--- + +This structured format provides a comprehensive overview of the problem along with multiple solution approaches. Happy coding! 🚀 \ No newline at end of file From b780b9ef9e354601365fde7cb52bb71ac93c2fcf Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:02:10 +0530 Subject: [PATCH 179/353] Update readme.md --- .../596. Classes More Than 5 Students/readme.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/LeetCode SQL 50 Solution/596. Classes More Than 5 Students/readme.md b/LeetCode SQL 50 Solution/596. Classes More Than 5 Students/readme.md index 50055a2..3f667e2 100644 --- a/LeetCode SQL 50 Solution/596. Classes More Than 5 Students/readme.md +++ b/LeetCode SQL 50 Solution/596. Classes More Than 5 Students/readme.md @@ -1,7 +1,3 @@ -Below is the structured README.md snippet for **LeetCode 596: Classes More Than 5 Students** including the problem statement, example, solution approaches (SQL and Pandas), file structure, and useful links. - ---- - # **596. Classes More Than 5 Students** ## **Problem Statement** @@ -112,6 +108,3 @@ LeetCode596/ - [SQL GROUP BY and HAVING Clause](https://www.w3schools.com/sql/sql_groupby.asp) - [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) ---- - -This structured format provides a comprehensive overview of the problem along with multiple solution approaches. Happy coding! 🚀 \ No newline at end of file From c976da464871f0812c4914b886d3b276a8993caa Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:02:40 +0530 Subject: [PATCH 180/353] Update 596. Classes More Than 5 Students.py --- .../596. Classes More Than 5 Students.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/LeetCode SQL 50 Solution/596. Classes More Than 5 Students/596. Classes More Than 5 Students.py b/LeetCode SQL 50 Solution/596. Classes More Than 5 Students/596. Classes More Than 5 Students.py index e69de29..e93ee24 100644 --- a/LeetCode SQL 50 Solution/596. Classes More Than 5 Students/596. Classes More Than 5 Students.py +++ b/LeetCode SQL 50 Solution/596. Classes More Than 5 Students/596. Classes More Than 5 Students.py @@ -0,0 +1,7 @@ +import pandas as pd + +def classes_with_five_or_more_students(courses: pd.DataFrame) -> pd.DataFrame: + # Group by 'class' and count the number of students + result = courses.groupby('class').filter(lambda x: len(x) >= 5) + # Return only the distinct class names + return result[['class']].drop_duplicates().reset_index(drop=True) \ No newline at end of file From 2ec35ddcf8ddb00877c13780aefa7d6c2da40733 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:04:01 +0530 Subject: [PATCH 181/353] Create 602. Friend Requests II.py --- .../602. Friend Requests II/602. Friend Requests II.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/602. Friend Requests II/602. Friend Requests II.py diff --git a/LeetCode SQL 50 Solution/602. Friend Requests II/602. Friend Requests II.py b/LeetCode SQL 50 Solution/602. Friend Requests II/602. Friend Requests II.py new file mode 100644 index 0000000..e69de29 From 1f3f53161df6560613f614140f404c8b3cd82a74 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:04:12 +0530 Subject: [PATCH 182/353] Create readme.md --- LeetCode SQL 50 Solution/602. Friend Requests II/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/602. Friend Requests II/readme.md diff --git a/LeetCode SQL 50 Solution/602. Friend Requests II/readme.md b/LeetCode SQL 50 Solution/602. Friend Requests II/readme.md new file mode 100644 index 0000000..e69de29 From 70f09efa21a796eff79bcb11020a8fd2b495f4e7 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:07:38 +0530 Subject: [PATCH 183/353] Update readme.md --- .../602. Friend Requests II/readme.md | 129 ++++++++++++++++++ 1 file changed, 129 insertions(+) diff --git a/LeetCode SQL 50 Solution/602. Friend Requests II/readme.md b/LeetCode SQL 50 Solution/602. Friend Requests II/readme.md index e69de29..edec57c 100644 --- a/LeetCode SQL 50 Solution/602. Friend Requests II/readme.md +++ b/LeetCode SQL 50 Solution/602. Friend Requests II/readme.md @@ -0,0 +1,129 @@ +Below is a structured README.md snippet for **LeetCode 602: Friend Requests II: Who Has the Most Friends**. It includes the problem statement, example, solution approaches (SQL and Pandas), file structure, and useful links. + +--- + +# **602. Friend Requests II: Who Has the Most Friends** + +## **Problem Statement** +You are given a table `RequestAccepted` that records friend request acceptances between users. + +### **RequestAccepted Table** +``` ++--------------+-------------+-------------+ +| Column Name | Type | ++--------------+-------------+ +| requester_id | int | +| accepter_id | int | +| accept_date | date | ++--------------+-------------+ +``` +- **(requester_id, accepter_id)** is the **primary key**. +- Each row indicates the user who sent a friend request (`requester_id`), the user who accepted it (`accepter_id`), and the date when the request was accepted. + +### **Task:** +Find the person who has the **most friends** along with the number of friends they have. +*Note:* The test cases are generated so that only one person has the most friends. + +--- + +## **Example 1:** + +### **Input:** +#### **RequestAccepted Table** +``` ++--------------+-------------+-------------+ +| requester_id | accepter_id | accept_date | ++--------------+-------------+-------------+ +| 1 | 2 | 2016/06/03 | +| 1 | 3 | 2016/06/08 | +| 2 | 3 | 2016/06/08 | +| 3 | 4 | 2016/06/09 | ++--------------+-------------+-------------+ +``` + +### **Output:** +``` ++----+-----+ +| id | num | ++----+-----+ +| 3 | 3 | ++----+-----+ +``` + +### **Explanation:** +- User with `id = 3` is friends with users 1, 2, and 4, making a total of **3 friends**—the highest among all users. + +--- + +## **Solution Approaches** + +### **SQL Solution (Using UNION ALL)** +```sql +WITH T AS ( + SELECT requester_id, accepter_id FROM RequestAccepted + UNION ALL + SELECT accepter_id, requester_id FROM RequestAccepted +) +SELECT requester_id AS id, COUNT(*) AS num +FROM T +GROUP BY requester_id +ORDER BY num DESC +LIMIT 1; +``` +**Explanation:** +- The CTE `T` creates a complete friendship list by combining both directions of the friend relationship. +- The outer query groups by `requester_id` (which now represents a user) and counts the number of occurrences (i.e., friends). +- The result is ordered by the friend count in descending order and limited to one row, returning the user with the most friends. + +--- + +### **Pandas Solution** +```python +import pandas as pd + +def most_friends(requests: pd.DataFrame) -> pd.DataFrame: + # Create a DataFrame that contains all friend relationships in both directions + friend_df = pd.concat([ + requests[['requester_id', 'accepter_id']].rename(columns={'requester_id': 'id', 'accepter_id': 'friend'}), + requests[['accepter_id', 'requester_id']].rename(columns={'accepter_id': 'id', 'requester_id': 'friend'}) + ]) + + # Count number of friends for each user + friend_counts = friend_df.groupby('id').size().reset_index(name='num') + + # Get the user with the most friends + max_friends = friend_counts.loc[friend_counts['num'].idxmax()] + + return pd.DataFrame({'id': [max_friends['id']], 'num': [max_friends['num']]}) + +# Example usage: +# requests_df = pd.read_csv('request_accepted.csv') +# print(most_friends(requests_df)) +``` +**Explanation:** +- The solution concatenates two DataFrames to consider friend relationships in both directions. +- It then groups by user `id` and counts the number of friends. +- The user with the maximum friend count is selected and returned. + +--- + +## **File Structure** +``` +LeetCode602/ +├── problem_statement.md # Contains the problem description and constraints. +├── sql_solution.sql # Contains the SQL solution using UNION ALL. +├── pandas_solution.py # Contains the Pandas solution for Python users. +├── README.md # Overview of the problem and available solutions. +``` + +--- + +## **Useful Links** +- [LeetCode Problem 602](https://leetcode.com/problems/friend-requests-ii-who-has-the-most-friends/) +- [SQL UNION ALL Documentation](https://www.w3schools.com/sql/sql_union.asp) +- [Pandas concat Documentation](https://pandas.pydata.org/docs/reference/api/pandas.concat.html) +- [Pandas groupby Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) + +--- + +This structured format provides a comprehensive overview of the problem along with multiple solution approaches. Happy coding! 🚀 \ No newline at end of file From e3f6c92cfb60760f9b6a3ba843ec9e17fb93c330 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:08:10 +0530 Subject: [PATCH 184/353] Update readme.md --- .../602. Friend Requests II/readme.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/LeetCode SQL 50 Solution/602. Friend Requests II/readme.md b/LeetCode SQL 50 Solution/602. Friend Requests II/readme.md index edec57c..8be2c91 100644 --- a/LeetCode SQL 50 Solution/602. Friend Requests II/readme.md +++ b/LeetCode SQL 50 Solution/602. Friend Requests II/readme.md @@ -1,7 +1,3 @@ -Below is a structured README.md snippet for **LeetCode 602: Friend Requests II: Who Has the Most Friends**. It includes the problem statement, example, solution approaches (SQL and Pandas), file structure, and useful links. - ---- - # **602. Friend Requests II: Who Has the Most Friends** ## **Problem Statement** @@ -123,7 +119,3 @@ LeetCode602/ - [SQL UNION ALL Documentation](https://www.w3schools.com/sql/sql_union.asp) - [Pandas concat Documentation](https://pandas.pydata.org/docs/reference/api/pandas.concat.html) - [Pandas groupby Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) - ---- - -This structured format provides a comprehensive overview of the problem along with multiple solution approaches. Happy coding! 🚀 \ No newline at end of file From 100af99edc17f51ae6299d2ea47961ffe736d775 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:08:48 +0530 Subject: [PATCH 185/353] Update 602. Friend Requests II.py --- .../602. Friend Requests II.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/LeetCode SQL 50 Solution/602. Friend Requests II/602. Friend Requests II.py b/LeetCode SQL 50 Solution/602. Friend Requests II/602. Friend Requests II.py index e69de29..1981f41 100644 --- a/LeetCode SQL 50 Solution/602. Friend Requests II/602. Friend Requests II.py +++ b/LeetCode SQL 50 Solution/602. Friend Requests II/602. Friend Requests II.py @@ -0,0 +1,16 @@ +import pandas as pd + +def most_friends(requests: pd.DataFrame) -> pd.DataFrame: + # Create a DataFrame that contains all friend relationships in both directions + friend_df = pd.concat([ + requests[['requester_id', 'accepter_id']].rename(columns={'requester_id': 'id', 'accepter_id': 'friend'}), + requests[['accepter_id', 'requester_id']].rename(columns={'accepter_id': 'id', 'requester_id': 'friend'}) + ]) + + # Count number of friends for each user + friend_counts = friend_df.groupby('id').size().reset_index(name='num') + + # Get the user with the most friends + max_friends = friend_counts.loc[friend_counts['num'].idxmax()] + + return pd.DataFrame({'id': [max_friends['id']], 'num': [max_friends['num']]}) From bc63fecf53d925b5876da8b43f003a08bc245d28 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:11:03 +0530 Subject: [PATCH 186/353] Create 610. Triangle Judgement.py --- .../610. Triangle Judgement/610. Triangle Judgement.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/610. Triangle Judgement/610. Triangle Judgement.py diff --git a/LeetCode SQL 50 Solution/610. Triangle Judgement/610. Triangle Judgement.py b/LeetCode SQL 50 Solution/610. Triangle Judgement/610. Triangle Judgement.py new file mode 100644 index 0000000..e69de29 From e6cce8e586aeaebda4b631093fa07b480ebba491 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:11:22 +0530 Subject: [PATCH 187/353] Create readme.md --- LeetCode SQL 50 Solution/610. Triangle Judgement/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/610. Triangle Judgement/readme.md diff --git a/LeetCode SQL 50 Solution/610. Triangle Judgement/readme.md b/LeetCode SQL 50 Solution/610. Triangle Judgement/readme.md new file mode 100644 index 0000000..e69de29 From 52a53e5b9588e9e01e21136d4b211c2f9c803b58 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:13:13 +0530 Subject: [PATCH 188/353] Update readme.md --- .../610. Triangle Judgement/readme.md | 116 ++++++++++++++++++ 1 file changed, 116 insertions(+) diff --git a/LeetCode SQL 50 Solution/610. Triangle Judgement/readme.md b/LeetCode SQL 50 Solution/610. Triangle Judgement/readme.md index e69de29..71e3a4f 100644 --- a/LeetCode SQL 50 Solution/610. Triangle Judgement/readme.md +++ b/LeetCode SQL 50 Solution/610. Triangle Judgement/readme.md @@ -0,0 +1,116 @@ +Below is the structured README.md snippet for **LeetCode 610: Triangle Judgement**, including the problem statement, example, solution approaches (SQL and Pandas), file structure, and useful links. + +--- + +# **610. Triangle Judgement** + +## **Problem Statement** +You are given a table `Triangle` that contains three integer values representing the lengths of three line segments. + +### **Triangle Table** +``` ++-------------+------+ +| Column Name | Type | ++-------------+------+ +| x | int | +| y | int | +| z | int | ++-------------+------+ +``` +- **(x, y, z)** is the **primary key**. +- Each row represents the lengths of three line segments. + +### **Task:** +Report for each row whether the three line segments can form a triangle. A triangle can be formed if and only if the sum of any two sides is greater than the third side. + +--- + +## **Example 1:** + +### **Input:** +#### **Triangle Table** +``` ++----+----+----+ +| x | y | z | ++----+----+----+ +| 13 | 15 | 30 | +| 10 | 20 | 15 | ++----+----+----+ +``` + +### **Output:** +``` ++----+----+----+----------+ +| x | y | z | triangle | ++----+----+----+----------+ +| 13 | 15 | 30 | No | +| 10 | 20 | 15 | Yes | ++----+----+----+----------+ +``` + +### **Explanation:** +- For the first row: `13 + 15` is not greater than `30`, so the segments cannot form a triangle. +- For the second row: All conditions are met (`10+20 > 15`, `10+15 > 20`, `20+15 > 10`), so they form a triangle. + +--- + +## **Solution Approaches** + +### **SQL Solution** +```sql +SELECT + x, + y, + z, + IF(x + y > z AND x + z > y AND y + z > x, 'Yes', 'No') AS triangle +FROM Triangle; +``` +**Explanation:** +- The query checks if the sum of any two sides is greater than the third side. +- If all conditions are true, it returns `'Yes'`; otherwise, it returns `'No'`. + +--- + +### **Pandas Solution** +```python +import pandas as pd + +def triangle_judgement(triangle: pd.DataFrame) -> pd.DataFrame: + # Create a new column 'triangle' based on the triangle inequality conditions + triangle['triangle'] = triangle.apply( + lambda row: 'Yes' if (row['x'] + row['y'] > row['z'] and + row['x'] + row['z'] > row['y'] and + row['y'] + row['z'] > row['x']) else 'No', + axis=1 + ) + return triangle + +# Example usage: +# df = pd.DataFrame({'x': [13, 10], 'y': [15, 20], 'z': [30, 15]}) +# print(triangle_judgement(df)) +``` +**Explanation:** +- The Pandas solution uses `apply()` with a lambda function to evaluate the triangle inequality for each row. +- It then creates a new column `triangle` with the result `'Yes'` or `'No'`. + +--- + +## **File Structure** +``` +LeetCode610/ +├── problem_statement.md # Contains the problem description and constraints. +├── sql_solution.sql # Contains the SQL solution. +├── pandas_solution.py # Contains the Pandas solution. +├── README.md # Overview of the problem and available solutions. +``` + +--- + +## **Useful Links** +- [LeetCode Problem 610](https://leetcode.com/problems/triangle-judgement/) +- [SQL IF Function](https://www.w3schools.com/sql/func_mysql_if.asp) +- [Pandas apply() Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.apply.html) + +--- + +This structured format provides a comprehensive overview of the problem along with multiple solution approaches. Happy coding! 🚀 \ No newline at end of file From c59c8cfc90df607cdda1fde7ac880ba0a5ceb2ae Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:13:28 +0530 Subject: [PATCH 189/353] Update readme.md --- LeetCode SQL 50 Solution/610. Triangle Judgement/readme.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/LeetCode SQL 50 Solution/610. Triangle Judgement/readme.md b/LeetCode SQL 50 Solution/610. Triangle Judgement/readme.md index 71e3a4f..ed31c6e 100644 --- a/LeetCode SQL 50 Solution/610. Triangle Judgement/readme.md +++ b/LeetCode SQL 50 Solution/610. Triangle Judgement/readme.md @@ -1,6 +1,3 @@ -Below is the structured README.md snippet for **LeetCode 610: Triangle Judgement**, including the problem statement, example, solution approaches (SQL and Pandas), file structure, and useful links. - ---- # **610. Triangle Judgement** @@ -110,7 +107,3 @@ LeetCode610/ - [LeetCode Problem 610](https://leetcode.com/problems/triangle-judgement/) - [SQL IF Function](https://www.w3schools.com/sql/func_mysql_if.asp) - [Pandas apply() Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.apply.html) - ---- - -This structured format provides a comprehensive overview of the problem along with multiple solution approaches. Happy coding! 🚀 \ No newline at end of file From 4bd64252aedcc247c7e432e304ffa4fb7b396500 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:14:57 +0530 Subject: [PATCH 190/353] Update 610. Triangle Judgement.py --- .../610. Triangle Judgement.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/LeetCode SQL 50 Solution/610. Triangle Judgement/610. Triangle Judgement.py b/LeetCode SQL 50 Solution/610. Triangle Judgement/610. Triangle Judgement.py index e69de29..ea00949 100644 --- a/LeetCode SQL 50 Solution/610. Triangle Judgement/610. Triangle Judgement.py +++ b/LeetCode SQL 50 Solution/610. Triangle Judgement/610. Triangle Judgement.py @@ -0,0 +1,11 @@ +import pandas as pd + +def triangle_judgement(triangle: pd.DataFrame) -> pd.DataFrame: + # Create a new column 'triangle' based on the triangle inequality conditions + triangle['triangle'] = triangle.apply( + lambda row: 'Yes' if (row['x'] + row['y'] > row['z'] and + row['x'] + row['z'] > row['y'] and + row['y'] + row['z'] > row['x']) else 'No', + axis=1 + ) + return triangle \ No newline at end of file From 9bb554eeb0ac7ecdb1a1d5e1d4c935d49d199595 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:18:55 +0530 Subject: [PATCH 191/353] akwefh --- .../619. Biggest Single Number.py | 0 .../619. Biggest Single Number/readme.md | 155 ++++++++++++++++++ 2 files changed, 155 insertions(+) create mode 100644 LeetCode SQL 50 Solution/619. Biggest Single Number/619. Biggest Single Number.py create mode 100644 LeetCode SQL 50 Solution/619. Biggest Single Number/readme.md diff --git a/LeetCode SQL 50 Solution/619. Biggest Single Number/619. Biggest Single Number.py b/LeetCode SQL 50 Solution/619. Biggest Single Number/619. Biggest Single Number.py new file mode 100644 index 0000000..e69de29 diff --git a/LeetCode SQL 50 Solution/619. Biggest Single Number/readme.md b/LeetCode SQL 50 Solution/619. Biggest Single Number/readme.md new file mode 100644 index 0000000..094853a --- /dev/null +++ b/LeetCode SQL 50 Solution/619. Biggest Single Number/readme.md @@ -0,0 +1,155 @@ +Below is the structured README.md snippet for **LeetCode 619: Biggest Single Number**, including the problem statement, example, solution approaches (SQL and Pandas), file structure, and useful links. + +--- + +# **619. Biggest Single Number** + +## **Problem Statement** +You are given a table `MyNumbers` that contains integers, which may include duplicates. + +### **MyNumbers Table** +``` ++-------------+------+ +| Column Name | Type | ++-------------+------+ +| num | int | ++-------------+------+ +``` +- There is **no primary key** for this table. +- Each row contains an integer. + +### **Task:** +A **single number** is a number that appears **only once** in the `MyNumbers` table. +Find the **largest single number**. If there is no single number, report `null`. + +--- + +## **Example 1:** + +### **Input:** +``` +MyNumbers table: ++-----+ +| num | ++-----+ +| 8 | +| 8 | +| 3 | +| 3 | +| 1 | +| 4 | +| 5 | +| 6 | ++-----+ +``` + +### **Output:** +``` ++-----+ +| num | ++-----+ +| 6 | ++-----+ +``` + +### **Explanation:** +- The single numbers (appear exactly once) are: **1, 4, 5, 6**. +- The largest among these is **6**. + +--- + +## **Example 2:** + +### **Input:** +``` +MyNumbers table: ++-----+ +| num | ++-----+ +| 8 | +| 8 | +| 7 | +| 7 | +| 3 | +| 3 | +| 3 | ++-----+ +``` + +### **Output:** +``` ++------+ +| num | ++------+ +| null | ++------+ +``` + +### **Explanation:** +- There are no single numbers (all numbers appear more than once), so the result is `null`. + +--- + +## **Solution Approaches** + +### **SQL Solution** +```sql +SELECT MAX(num) AS num +FROM ( + SELECT num + FROM MyNumbers + GROUP BY num + HAVING COUNT(num) = 1 +) AS unique_numbers; +``` +**Explanation:** +- The subquery groups by `num` and filters to include only those numbers that appear exactly once (`HAVING COUNT(num) = 1`). +- The outer query returns the maximum value from these unique numbers. +- If no unique number exists, `MAX(num)` returns `null`. + +--- + +### **Pandas Solution** +```python +import pandas as pd + +def biggest_single_number(my_numbers: pd.DataFrame) -> pd.DataFrame: + # Group by 'num' and filter those numbers that appear exactly once + unique_numbers = my_numbers.groupby('num').filter(lambda group: len(group) == 1) + + # Determine the largest single number, if any + if unique_numbers.empty: + result = None + else: + result = unique_numbers['num'].max() + + return pd.DataFrame({'num': [result]}) + +# Example usage: +# df = pd.DataFrame({'num': [8, 8, 3, 3, 1, 4, 5, 6]}) +# print(biggest_single_number(df)) +``` +**Explanation:** +- The solution groups the DataFrame by `num` and filters groups where the number appears exactly once. +- It then calculates the maximum from the filtered DataFrame. +- If there are no unique numbers, it returns `None`. + +--- + +## **File Structure** +``` +LeetCode619/ +├── problem_statement.md # Contains the problem description and constraints. +├── sql_solution.sql # Contains the SQL solution. +├── pandas_solution.py # Contains the Pandas solution for Python users. +├── README.md # Overview of the problem and available solutions. +``` + +--- + +## **Useful Links** +- [LeetCode Problem 619](https://leetcode.com/problems/biggest-single-number/) +- [SQL GROUP BY and HAVING Clause](https://www.w3schools.com/sql/sql_groupby.asp) +- [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) +- [Pandas filter() Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.filter.html) + From 27eb621bcdb1909ef99ef521fb6d0cfaaffa42c2 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:19:09 +0530 Subject: [PATCH 192/353] Update readme.md --- LeetCode SQL 50 Solution/619. Biggest Single Number/readme.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/LeetCode SQL 50 Solution/619. Biggest Single Number/readme.md b/LeetCode SQL 50 Solution/619. Biggest Single Number/readme.md index 094853a..2d85b6a 100644 --- a/LeetCode SQL 50 Solution/619. Biggest Single Number/readme.md +++ b/LeetCode SQL 50 Solution/619. Biggest Single Number/readme.md @@ -1,7 +1,3 @@ -Below is the structured README.md snippet for **LeetCode 619: Biggest Single Number**, including the problem statement, example, solution approaches (SQL and Pandas), file structure, and useful links. - ---- - # **619. Biggest Single Number** ## **Problem Statement** From 0497a5dcd980eaf0375fe74bdad958339f147070 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:19:58 +0530 Subject: [PATCH 193/353] Update readme.md --- .../619. Biggest Single Number/readme.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/LeetCode SQL 50 Solution/619. Biggest Single Number/readme.md b/LeetCode SQL 50 Solution/619. Biggest Single Number/readme.md index 2d85b6a..048f76d 100644 --- a/LeetCode SQL 50 Solution/619. Biggest Single Number/readme.md +++ b/LeetCode SQL 50 Solution/619. Biggest Single Number/readme.md @@ -4,7 +4,7 @@ You are given a table `MyNumbers` that contains integers, which may include duplicates. ### **MyNumbers Table** -``` +```rb +-------------+------+ | Column Name | Type | +-------------+------+ @@ -23,7 +23,7 @@ Find the **largest single number**. If there is no single number, report `null`. ## **Example 1:** ### **Input:** -``` +```rb MyNumbers table: +-----+ | num | @@ -40,7 +40,7 @@ MyNumbers table: ``` ### **Output:** -``` +```rb +-----+ | num | +-----+ @@ -57,7 +57,7 @@ MyNumbers table: ## **Example 2:** ### **Input:** -``` +```rb MyNumbers table: +-----+ | num | From 99a4601e61b6d67d18c655bfa8b333a3543248cb Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:20:07 +0530 Subject: [PATCH 194/353] Update 619. Biggest Single Number.py --- .../619. Biggest Single Number.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/LeetCode SQL 50 Solution/619. Biggest Single Number/619. Biggest Single Number.py b/LeetCode SQL 50 Solution/619. Biggest Single Number/619. Biggest Single Number.py index e69de29..1c92778 100644 --- a/LeetCode SQL 50 Solution/619. Biggest Single Number/619. Biggest Single Number.py +++ b/LeetCode SQL 50 Solution/619. Biggest Single Number/619. Biggest Single Number.py @@ -0,0 +1,13 @@ +import pandas as pd + +def biggest_single_number(my_numbers: pd.DataFrame) -> pd.DataFrame: + # Group by 'num' and filter those numbers that appear exactly once + unique_numbers = my_numbers.groupby('num').filter(lambda group: len(group) == 1) + + # Determine the largest single number, if any + if unique_numbers.empty: + result = None + else: + result = unique_numbers['num'].max() + + return pd.DataFrame({'num': [result]}) From 5ceedacffe804d4e4ffd53c0c6c9cb1aef6faecd Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:26:10 +0530 Subject: [PATCH 195/353] file --- .../620. Not Boring Movies/620. Not Boring Movies.py | 0 LeetCode SQL 50 Solution/620. Not Boring Movies/readme.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/620. Not Boring Movies/620. Not Boring Movies.py create mode 100644 LeetCode SQL 50 Solution/620. Not Boring Movies/readme.md diff --git a/LeetCode SQL 50 Solution/620. Not Boring Movies/620. Not Boring Movies.py b/LeetCode SQL 50 Solution/620. Not Boring Movies/620. Not Boring Movies.py new file mode 100644 index 0000000..e69de29 diff --git a/LeetCode SQL 50 Solution/620. Not Boring Movies/readme.md b/LeetCode SQL 50 Solution/620. Not Boring Movies/readme.md new file mode 100644 index 0000000..e69de29 From 985d8af373dadf5fe1d87bc56616d22e8d3290c1 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:26:18 +0530 Subject: [PATCH 196/353] Update readme.md --- .../620. Not Boring Movies/readme.md | 124 ++++++++++++++++++ 1 file changed, 124 insertions(+) diff --git a/LeetCode SQL 50 Solution/620. Not Boring Movies/readme.md b/LeetCode SQL 50 Solution/620. Not Boring Movies/readme.md index e69de29..505c13a 100644 --- a/LeetCode SQL 50 Solution/620. Not Boring Movies/readme.md +++ b/LeetCode SQL 50 Solution/620. Not Boring Movies/readme.md @@ -0,0 +1,124 @@ +Below is a structured README.md snippet for **LeetCode 620: Not Boring Movies**, including the problem statement, example, solution approaches (SQL and Pandas), file structure, and useful links. + +--- + +# **620. Not Boring Movies** + +## **Problem Statement** +You are given a table `Cinema` that contains information about movies, their descriptions, and ratings. + +### **Cinema Table** +``` ++----------------+----------+ +| Column Name | Type | ++----------------+----------+ +| id | int | +| movie | varchar | +| description | varchar | +| rating | float | ++----------------+----------+ +``` +- `id` is the **primary key**. +- Each row provides details about a movie: + - `id`: The movie's unique identifier. + - `movie`: The name of the movie. + - `description`: The description or genre of the movie. + - `rating`: A float representing the movie's rating (in the range [0, 10] with 2 decimal places). + +### **Task:** +Write a solution to report the movies that have: +- An **odd-numbered `id`**. +- A `description` that is **not "boring"**. + +Return the result table **ordered by rating in descending order**. + +--- + +## **Example 1:** + +### **Input:** +#### **Cinema Table** +``` ++----+------------+-------------+--------+ +| id | movie | description | rating | ++----+------------+-------------+--------+ +| 1 | War | great 3D | 8.9 | +| 2 | Science | fiction | 8.5 | +| 3 | irish | boring | 6.2 | +| 4 | Ice song | Fantacy | 8.6 | +| 5 | House card | Interesting | 9.1 | ++----+------------+-------------+--------+ +``` + +### **Output:** +``` ++----+------------+-------------+--------+ +| id | movie | description | rating | ++----+------------+-------------+--------+ +| 5 | House card | Interesting | 9.1 | +| 1 | War | great 3D | 8.9 | ++----+------------+-------------+--------+ +``` + +### **Explanation:** +- Movies with **odd-numbered IDs**: `1`, `3`, and `5`. +- Excluding movie with `id = 3` because its description is `"boring"`. +- Sorting the remaining movies by `rating` in descending order gives the result. + +--- + +## **Solution Approaches** + +### **SQL Solution** +```sql +SELECT * +FROM Cinema +WHERE id % 2 = 1 + AND description != 'boring' +ORDER BY rating DESC; +``` +**Explanation:** +- The query filters movies where the `id` is odd (`id % 2 = 1`) and the `description` is not `"boring"`. +- The results are ordered by `rating` in descending order. + +--- + +### **Pandas Solution** +```python +import pandas as pd + +def not_boring_movies(cinema: pd.DataFrame) -> pd.DataFrame: + # Filter movies with odd-numbered id and description not equal to 'boring' + result = cinema[(cinema['id'] % 2 == 1) & (cinema['description'] != 'boring')] + # Sort the result by rating in descending order + return result.sort_values(by='rating', ascending=False) + +# Example usage: +# cinema_df = pd.read_csv('cinema.csv') +# print(not_boring_movies(cinema_df)) +``` +**Explanation:** +- The Pandas solution filters the DataFrame to include only rows where the `id` is odd and the `description` is not `"boring"`. +- It then sorts the filtered results by `rating` in descending order. + +--- + +## **File Structure** +``` +LeetCode620/ +├── problem_statement.md # Contains the problem description and constraints. +├── sql_solution.sql # Contains the SQL solution. +├── pandas_solution.py # Contains the Pandas solution for Python users. +├── README.md # Overview of the problem and available solutions. +``` + +--- + +## **Useful Links** +- [LeetCode Problem 620](https://leetcode.com/problems/not-boring-movies/) +- [SQL WHERE Clause Documentation](https://www.w3schools.com/sql/sql_where.asp) +- [Pandas Documentation](https://pandas.pydata.org/docs/) + +--- + +This structured format provides a clear understanding of the problem and offers both SQL and Pandas solutions. Happy coding! 🚀 \ No newline at end of file From 4b10026db487c1cf7684511b27b36fce98319fcd Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:26:31 +0530 Subject: [PATCH 197/353] Update readme.md --- LeetCode SQL 50 Solution/620. Not Boring Movies/readme.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/LeetCode SQL 50 Solution/620. Not Boring Movies/readme.md b/LeetCode SQL 50 Solution/620. Not Boring Movies/readme.md index 505c13a..5b519fd 100644 --- a/LeetCode SQL 50 Solution/620. Not Boring Movies/readme.md +++ b/LeetCode SQL 50 Solution/620. Not Boring Movies/readme.md @@ -1,6 +1,4 @@ -Below is a structured README.md snippet for **LeetCode 620: Not Boring Movies**, including the problem statement, example, solution approaches (SQL and Pandas), file structure, and useful links. ---- # **620. Not Boring Movies** @@ -119,6 +117,3 @@ LeetCode620/ - [SQL WHERE Clause Documentation](https://www.w3schools.com/sql/sql_where.asp) - [Pandas Documentation](https://pandas.pydata.org/docs/) ---- - -This structured format provides a clear understanding of the problem and offers both SQL and Pandas solutions. Happy coding! 🚀 \ No newline at end of file From ce0db6f30e7c742f587b90a22a557255c81e0d4a Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:26:55 +0530 Subject: [PATCH 198/353] add --- .../620. Not Boring Movies/620. Not Boring Movies.py | 7 +++++++ LeetCode SQL 50 Solution/620. Not Boring Movies/readme.md | 2 -- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/LeetCode SQL 50 Solution/620. Not Boring Movies/620. Not Boring Movies.py b/LeetCode SQL 50 Solution/620. Not Boring Movies/620. Not Boring Movies.py index e69de29..b1df1fa 100644 --- a/LeetCode SQL 50 Solution/620. Not Boring Movies/620. Not Boring Movies.py +++ b/LeetCode SQL 50 Solution/620. Not Boring Movies/620. Not Boring Movies.py @@ -0,0 +1,7 @@ +import pandas as pd + +def not_boring_movies(cinema: pd.DataFrame) -> pd.DataFrame: + # Filter movies with odd-numbered id and description not equal to 'boring' + result = cinema[(cinema['id'] % 2 == 1) & (cinema['description'] != 'boring')] + # Sort the result by rating in descending order + return result.sort_values(by='rating', ascending=False) diff --git a/LeetCode SQL 50 Solution/620. Not Boring Movies/readme.md b/LeetCode SQL 50 Solution/620. Not Boring Movies/readme.md index 5b519fd..9a6d9ef 100644 --- a/LeetCode SQL 50 Solution/620. Not Boring Movies/readme.md +++ b/LeetCode SQL 50 Solution/620. Not Boring Movies/readme.md @@ -1,5 +1,3 @@ - - # **620. Not Boring Movies** ## **Problem Statement** From 1c5f51a4203daca8ea7ea6d92934b21672632767 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:27:53 +0530 Subject: [PATCH 199/353] Create 626. Exchange Seats.py --- .../626. Exchange Seats/626. Exchange Seats.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/626. Exchange Seats/626. Exchange Seats.py diff --git a/LeetCode SQL 50 Solution/626. Exchange Seats/626. Exchange Seats.py b/LeetCode SQL 50 Solution/626. Exchange Seats/626. Exchange Seats.py new file mode 100644 index 0000000..e69de29 From 6c7ca7200a39fc5c020f7a5c1eaf5b379588dbb8 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:28:10 +0530 Subject: [PATCH 200/353] Create readme.md --- LeetCode SQL 50 Solution/626. Exchange Seats/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/626. Exchange Seats/readme.md diff --git a/LeetCode SQL 50 Solution/626. Exchange Seats/readme.md b/LeetCode SQL 50 Solution/626. Exchange Seats/readme.md new file mode 100644 index 0000000..e69de29 From 19adbad3ead165121ee85365c0f64e5dcc72b1d8 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:30:19 +0530 Subject: [PATCH 201/353] Update readme.md --- .../626. Exchange Seats/readme.md | 154 ++++++++++++++++++ 1 file changed, 154 insertions(+) diff --git a/LeetCode SQL 50 Solution/626. Exchange Seats/readme.md b/LeetCode SQL 50 Solution/626. Exchange Seats/readme.md index e69de29..dfe8455 100644 --- a/LeetCode SQL 50 Solution/626. Exchange Seats/readme.md +++ b/LeetCode SQL 50 Solution/626. Exchange Seats/readme.md @@ -0,0 +1,154 @@ +Below is the structured README.md snippet for **LeetCode 626: Exchange Seats**, including the problem statement, example, SQL and Pandas solutions, file structure, and useful links. + +--- + +# **626. Exchange Seats** + +## **Problem Statement** +You are given a table `Seat` that contains the seat IDs and names of students. The seat IDs are assigned consecutively starting from 1. + +### **Seat Table** +``` ++-------------+---------+ +| Column Name | Type | ++-------------+---------+ +| id | int | +| student | varchar | ++-------------+---------+ +``` +- `id` is the **primary key** (unique value). +- Each row represents a student and their assigned seat. +- The `id` sequence always starts from 1 and increments continuously. + +### **Task:** +Swap the seat `id` of every two consecutive students. +- If the number of students is odd, the `id` of the last student remains unchanged. +- Return the result table ordered by `id` in ascending order. + +--- + +## **Example 1:** + +### **Input:** +``` +Seat table: ++----+---------+ +| id | student | ++----+---------+ +| 1 | Abbot | +| 2 | Doris | +| 3 | Emerson | +| 4 | Green | +| 5 | Jeames | ++----+---------+ +``` + +### **Output:** +``` ++----+---------+ +| id | student | ++----+---------+ +| 1 | Doris | +| 2 | Abbot | +| 3 | Green | +| 4 | Emerson | +| 5 | Jeames | ++----+---------+ +``` + +### **Explanation:** +- Swap the seat assignments of every two consecutive students: + - Seats 1 and 2: **Abbot** and **Doris** swap positions. + - Seats 3 and 4: **Emerson** and **Green** swap positions. + - Since the number of students is odd, **Jeames** (seat 5) remains in the same seat. + +--- + +## **Solution Approaches** + +### **SQL Solution** +```sql +SELECT + CASE + WHEN id % 2 != 0 AND id != counts THEN id + 1 + WHEN id % 2 != 0 AND id = counts THEN id + ELSE id - 1 + END AS id, + student +FROM Seat, (SELECT COUNT(*) AS counts FROM Seat) AS seat_counts +ORDER BY id ASC; +``` +**Explanation:** +- The subquery `(SELECT COUNT(*) AS counts FROM Seat)` computes the total number of students. +- The `CASE` statement swaps IDs: + - For odd `id` (except the last one if the count is odd), we add 1. + - For even `id`, we subtract 1. + - For the last student in an odd-length list, we leave the `id` unchanged. +- The results are then ordered by the new `id` in ascending order. + +--- + +### **Pandas Solution** +```python +import pandas as pd + +def exchange_seats(seat: pd.DataFrame) -> pd.DataFrame: + # Total number of students + total = seat.shape[0] + + # Function to compute the new seat id + def new_id(row): + # For odd id values: + if row['id'] % 2 != 0: + # If it's the last row in an odd-length list, do not change the id. + if row['id'] == total: + return row['id'] + else: + return row['id'] + 1 + # For even id values, swap with previous odd id + else: + return row['id'] - 1 + + # Apply the new_id function to each row + seat['new_id'] = seat.apply(new_id, axis=1) + + # Sort by the new seat id and select the desired columns + result = seat.sort_values('new_id')[['new_id', 'student']].rename(columns={'new_id': 'id'}) + + return result.reset_index(drop=True) + +# Example usage: +# data = {'id': [1, 2, 3, 4, 5], 'student': ['Abbot', 'Doris', 'Emerson', 'Green', 'Jeames']} +# df = pd.DataFrame(data) +# print(exchange_seats(df)) +``` +**Explanation:** +- The solution calculates the total number of rows. +- A helper function `new_id` computes the new seat id: + - For odd `id`s (except the last one), add 1. + - For even `id`s, subtract 1. + - Leave the last seat unchanged if the count is odd. +- The DataFrame is sorted by the new `id`, and the result is returned. + +--- + +## **File Structure** +``` +LeetCode626/ +├── problem_statement.md # Contains the problem description and constraints. +├── sql_solution.sql # Contains the SQL solution. +├── pandas_solution.py # Contains the Pandas solution. +├── README.md # Overview of the problem and available solutions. +``` + +--- + +## **Useful Links** +- [LeetCode Problem 626](https://leetcode.com/problems/exchange-seats/) +- [SQL CASE Statement Documentation](https://www.w3schools.com/sql/sql_case.asp) +- [Pandas apply() Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.apply.html) +- [Pandas DataFrame Sorting](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.sort_values.html) + +--- + +This structured format provides a comprehensive overview of the problem along with multiple solution approaches. Happy coding! 🚀 \ No newline at end of file From 12d6e1fa6c58de2e277b8b6f2601ffded196b769 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:30:47 +0530 Subject: [PATCH 202/353] Update readme.md --- LeetCode SQL 50 Solution/626. Exchange Seats/readme.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/LeetCode SQL 50 Solution/626. Exchange Seats/readme.md b/LeetCode SQL 50 Solution/626. Exchange Seats/readme.md index dfe8455..7bc6b79 100644 --- a/LeetCode SQL 50 Solution/626. Exchange Seats/readme.md +++ b/LeetCode SQL 50 Solution/626. Exchange Seats/readme.md @@ -1,7 +1,3 @@ -Below is the structured README.md snippet for **LeetCode 626: Exchange Seats**, including the problem statement, example, SQL and Pandas solutions, file structure, and useful links. - ---- - # **626. Exchange Seats** ## **Problem Statement** @@ -149,6 +145,3 @@ LeetCode626/ - [Pandas apply() Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.apply.html) - [Pandas DataFrame Sorting](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.sort_values.html) ---- - -This structured format provides a comprehensive overview of the problem along with multiple solution approaches. Happy coding! 🚀 \ No newline at end of file From c098a4ee3ef92379e7ece8197c794a2c07ba5385 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:31:06 +0530 Subject: [PATCH 203/353] Update 626. Exchange Seats.py --- .../626. Exchange Seats/626. Exchange Seats.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/LeetCode SQL 50 Solution/626. Exchange Seats/626. Exchange Seats.py b/LeetCode SQL 50 Solution/626. Exchange Seats/626. Exchange Seats.py index e69de29..512b00b 100644 --- a/LeetCode SQL 50 Solution/626. Exchange Seats/626. Exchange Seats.py +++ b/LeetCode SQL 50 Solution/626. Exchange Seats/626. Exchange Seats.py @@ -0,0 +1,18 @@ +import pandas as pd + +def exchange_seats(seat: pd.DataFrame) -> pd.DataFrame: + # Total number of students + total = seat.shape[0] + + # Function to compute the new seat id + def new_id(row): + # For odd id values: + if row['id'] % 2 != 0: + # If it's the last row in an odd-length list, do not change the id. + if row['id'] == total: + return row['id'] + else: + return row['id'] + 1 + # For even id values, swap with previous odd id + else: + return row['id'] - 1 \ No newline at end of file From c111f6b627aa44a46dfa93adc5f2251e03b0c9e9 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:39:11 +0530 Subject: [PATCH 204/353] Create 1045. Customers Who Bought All Products.py --- .../1045. Customers Who Bought All Products.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1045. Customers Who Bought All Products/1045. Customers Who Bought All Products.py diff --git a/LeetCode SQL 50 Solution/1045. Customers Who Bought All Products/1045. Customers Who Bought All Products.py b/LeetCode SQL 50 Solution/1045. Customers Who Bought All Products/1045. Customers Who Bought All Products.py new file mode 100644 index 0000000..e69de29 From 8b37e81bfd46380c31ccc6dd2de8c499384566da Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:39:22 +0530 Subject: [PATCH 205/353] Create readme.md --- .../1045. Customers Who Bought All Products/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1045. Customers Who Bought All Products/readme.md diff --git a/LeetCode SQL 50 Solution/1045. Customers Who Bought All Products/readme.md b/LeetCode SQL 50 Solution/1045. Customers Who Bought All Products/readme.md new file mode 100644 index 0000000..e69de29 From 1c294a7ca3d901c034b80dc7f7e7bd177428544b Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:40:59 +0530 Subject: [PATCH 206/353] Create 1068. Product Sales Analysis I.py --- .../1068. Product Sales Analysis I.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1068. Product Sales Analysis I/1068. Product Sales Analysis I.py diff --git a/LeetCode SQL 50 Solution/1068. Product Sales Analysis I/1068. Product Sales Analysis I.py b/LeetCode SQL 50 Solution/1068. Product Sales Analysis I/1068. Product Sales Analysis I.py new file mode 100644 index 0000000..e69de29 From d637664ebd8bd7ac4d19d2537e7db34e100a40f0 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:41:07 +0530 Subject: [PATCH 207/353] Create readme.md --- LeetCode SQL 50 Solution/1068. Product Sales Analysis I/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1068. Product Sales Analysis I/readme.md diff --git a/LeetCode SQL 50 Solution/1068. Product Sales Analysis I/readme.md b/LeetCode SQL 50 Solution/1068. Product Sales Analysis I/readme.md new file mode 100644 index 0000000..e69de29 From c160fad83203208b1e9bac5048b0b3b19bcb9f5c Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:42:19 +0530 Subject: [PATCH 208/353] asdf --- .../1070. Product Sales Analysis III.py | 0 .../1070. Product Sales Analysis III/readme.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1070. Product Sales Analysis III/1070. Product Sales Analysis III.py create mode 100644 LeetCode SQL 50 Solution/1070. Product Sales Analysis III/readme.md diff --git a/LeetCode SQL 50 Solution/1070. Product Sales Analysis III/1070. Product Sales Analysis III.py b/LeetCode SQL 50 Solution/1070. Product Sales Analysis III/1070. Product Sales Analysis III.py new file mode 100644 index 0000000..e69de29 diff --git a/LeetCode SQL 50 Solution/1070. Product Sales Analysis III/readme.md b/LeetCode SQL 50 Solution/1070. Product Sales Analysis III/readme.md new file mode 100644 index 0000000..e69de29 From 55c3a8da3df14b916e82dbe26aafaa24291a30c0 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:42:38 +0530 Subject: [PATCH 209/353] Create 1075. Project Employees I.py --- .../1075. Project Employees I/1075. Project Employees I.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1075. Project Employees I/1075. Project Employees I.py diff --git a/LeetCode SQL 50 Solution/1075. Project Employees I/1075. Project Employees I.py b/LeetCode SQL 50 Solution/1075. Project Employees I/1075. Project Employees I.py new file mode 100644 index 0000000..e69de29 From a8fb52d04a1c3d690fe5b45ce7ec2e62811cace3 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:43:03 +0530 Subject: [PATCH 210/353] Create readme.md --- LeetCode SQL 50 Solution/1075. Project Employees I/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1075. Project Employees I/readme.md diff --git a/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md b/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md new file mode 100644 index 0000000..e69de29 From 2c926b4a42ebb39a95c59c310ff7a6323ccd21cb Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:43:24 +0530 Subject: [PATCH 211/353] Create 1141. User Activity for the Past 30 Days I.py --- .../1141. User Activity for the Past 30 Days I.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1141. User Activity for the Past 30 Days I/1141. User Activity for the Past 30 Days I.py diff --git a/LeetCode SQL 50 Solution/1141. User Activity for the Past 30 Days I/1141. User Activity for the Past 30 Days I.py b/LeetCode SQL 50 Solution/1141. User Activity for the Past 30 Days I/1141. User Activity for the Past 30 Days I.py new file mode 100644 index 0000000..e69de29 From 87f3544a6736cf6fd1cb59e1e9cca43098752676 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:43:34 +0530 Subject: [PATCH 212/353] Create readme.md --- .../1141. User Activity for the Past 30 Days I/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1141. User Activity for the Past 30 Days I/readme.md diff --git a/LeetCode SQL 50 Solution/1141. User Activity for the Past 30 Days I/readme.md b/LeetCode SQL 50 Solution/1141. User Activity for the Past 30 Days I/readme.md new file mode 100644 index 0000000..e69de29 From b581a010ceb47cd112fef163b55d4e2130d8ac96 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:44:10 +0530 Subject: [PATCH 213/353] asdf --- .../1148. Article Views I/1148. Article Views I.py | 0 LeetCode SQL 50 Solution/1148. Article Views I/readme.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1148. Article Views I/1148. Article Views I.py create mode 100644 LeetCode SQL 50 Solution/1148. Article Views I/readme.md diff --git a/LeetCode SQL 50 Solution/1148. Article Views I/1148. Article Views I.py b/LeetCode SQL 50 Solution/1148. Article Views I/1148. Article Views I.py new file mode 100644 index 0000000..e69de29 diff --git a/LeetCode SQL 50 Solution/1148. Article Views I/readme.md b/LeetCode SQL 50 Solution/1148. Article Views I/readme.md new file mode 100644 index 0000000..e69de29 From c66db3488cb7ff170b99dd2ccaf0fb36c95e3056 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:44:24 +0530 Subject: [PATCH 214/353] Create 1164. Product Price at a Given Date.py --- .../1164. Product Price at a Given Date.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1164. Product Price at a Given Date/1164. Product Price at a Given Date.py diff --git a/LeetCode SQL 50 Solution/1164. Product Price at a Given Date/1164. Product Price at a Given Date.py b/LeetCode SQL 50 Solution/1164. Product Price at a Given Date/1164. Product Price at a Given Date.py new file mode 100644 index 0000000..e69de29 From 81a5841bd0c25413f010110f778adcf8419464e0 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:45:04 +0530 Subject: [PATCH 215/353] Create readme.md --- .../1164. Product Price at a Given Date/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1164. Product Price at a Given Date/readme.md diff --git a/LeetCode SQL 50 Solution/1164. Product Price at a Given Date/readme.md b/LeetCode SQL 50 Solution/1164. Product Price at a Given Date/readme.md new file mode 100644 index 0000000..e69de29 From d8a72a467e96de2238f103d7954b02c98f181141 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:45:19 +0530 Subject: [PATCH 216/353] Create 1174. Immediate Food Delivery II.py --- .../1174. Immediate Food Delivery II.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1174. Immediate Food Delivery II/1174. Immediate Food Delivery II.py diff --git a/LeetCode SQL 50 Solution/1174. Immediate Food Delivery II/1174. Immediate Food Delivery II.py b/LeetCode SQL 50 Solution/1174. Immediate Food Delivery II/1174. Immediate Food Delivery II.py new file mode 100644 index 0000000..e69de29 From 6143623bebc6dce898dd735627e95f2f16738f0e Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:45:33 +0530 Subject: [PATCH 217/353] Create readme.md --- .../1174. Immediate Food Delivery II/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1174. Immediate Food Delivery II/readme.md diff --git a/LeetCode SQL 50 Solution/1174. Immediate Food Delivery II/readme.md b/LeetCode SQL 50 Solution/1174. Immediate Food Delivery II/readme.md new file mode 100644 index 0000000..e69de29 From 37ba234ddd16ac32d90bda87f7881d34a90f8328 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:45:52 +0530 Subject: [PATCH 218/353] Create 1193. Monthly Transactions I.py --- .../1193. Monthly Transactions I/1193. Monthly Transactions I.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1193. Monthly Transactions I/1193. Monthly Transactions I.py diff --git a/LeetCode SQL 50 Solution/1193. Monthly Transactions I/1193. Monthly Transactions I.py b/LeetCode SQL 50 Solution/1193. Monthly Transactions I/1193. Monthly Transactions I.py new file mode 100644 index 0000000..e69de29 From cbc527fd3a1c1a1f113ef7aba3fae346f8362348 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:46:03 +0530 Subject: [PATCH 219/353] Create readme.md --- LeetCode SQL 50 Solution/1193. Monthly Transactions I/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1193. Monthly Transactions I/readme.md diff --git a/LeetCode SQL 50 Solution/1193. Monthly Transactions I/readme.md b/LeetCode SQL 50 Solution/1193. Monthly Transactions I/readme.md new file mode 100644 index 0000000..e69de29 From 9998777944aed5b02bbc7a35f3ee7ac8870840a9 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:46:21 +0530 Subject: [PATCH 220/353] Create readme.md --- .../1204. Last Person to Fit in the Bus/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus/readme.md diff --git a/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus/readme.md b/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus/readme.md new file mode 100644 index 0000000..e69de29 From f339384822d55e293207b410286a949ed3227f1c Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:46:31 +0530 Subject: [PATCH 221/353] Create 1204. Last Person to Fit in the Bus.py --- .../1204. Last Person to Fit in the Bus.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus/1204. Last Person to Fit in the Bus.py diff --git a/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus/1204. Last Person to Fit in the Bus.py b/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus/1204. Last Person to Fit in the Bus.py new file mode 100644 index 0000000..e69de29 From b4e7d053a97049d188caba0188e2c178944ccca1 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:46:45 +0530 Subject: [PATCH 222/353] Create 1211. Queries Quality and Percentage.py --- .../1211. Queries Quality and Percentage.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1211. Queries Quality and Percentage/1211. Queries Quality and Percentage.py diff --git a/LeetCode SQL 50 Solution/1211. Queries Quality and Percentage/1211. Queries Quality and Percentage.py b/LeetCode SQL 50 Solution/1211. Queries Quality and Percentage/1211. Queries Quality and Percentage.py new file mode 100644 index 0000000..e69de29 From 1188ad0962de6938b95606a9d4522dde50b8faf1 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:46:55 +0530 Subject: [PATCH 223/353] Create readme.md --- .../1211. Queries Quality and Percentage/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1211. Queries Quality and Percentage/readme.md diff --git a/LeetCode SQL 50 Solution/1211. Queries Quality and Percentage/readme.md b/LeetCode SQL 50 Solution/1211. Queries Quality and Percentage/readme.md new file mode 100644 index 0000000..e69de29 From ced035e380428be88a34aa418dea6f3ca9909a23 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:49:55 +0530 Subject: [PATCH 224/353] Create 1251. Average Selling Price.py --- .../1251. Average Selling Price/1251. Average Selling Price.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1251. Average Selling Price/1251. Average Selling Price.py diff --git a/LeetCode SQL 50 Solution/1251. Average Selling Price/1251. Average Selling Price.py b/LeetCode SQL 50 Solution/1251. Average Selling Price/1251. Average Selling Price.py new file mode 100644 index 0000000..e69de29 From 469f1005a9f423949d6c858962dd9154891b182c Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:50:03 +0530 Subject: [PATCH 225/353] Create readme.md --- LeetCode SQL 50 Solution/1251. Average Selling Price/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1251. Average Selling Price/readme.md diff --git a/LeetCode SQL 50 Solution/1251. Average Selling Price/readme.md b/LeetCode SQL 50 Solution/1251. Average Selling Price/readme.md new file mode 100644 index 0000000..e69de29 From 5a81a52f8f26f0a801ff0dac630b5bb0f5872f58 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:50:40 +0530 Subject: [PATCH 226/353] file --- .../1280. Students and Examinations.py | 0 .../1280. Students and Examinations/readme.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1280. Students and Examinations/1280. Students and Examinations.py create mode 100644 LeetCode SQL 50 Solution/1280. Students and Examinations/readme.md diff --git a/LeetCode SQL 50 Solution/1280. Students and Examinations/1280. Students and Examinations.py b/LeetCode SQL 50 Solution/1280. Students and Examinations/1280. Students and Examinations.py new file mode 100644 index 0000000..e69de29 diff --git a/LeetCode SQL 50 Solution/1280. Students and Examinations/readme.md b/LeetCode SQL 50 Solution/1280. Students and Examinations/readme.md new file mode 100644 index 0000000..e69de29 From 05fc956bc4751cc0e50973077c8f9fbe4392181b Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:50:59 +0530 Subject: [PATCH 227/353] Create readme.md --- LeetCode SQL 50 Solution/1321. Restaurant Growth/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1321. Restaurant Growth/readme.md diff --git a/LeetCode SQL 50 Solution/1321. Restaurant Growth/readme.md b/LeetCode SQL 50 Solution/1321. Restaurant Growth/readme.md new file mode 100644 index 0000000..e69de29 From fed383dbaf865a24b231e031f76ad6ebb66ab616 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:51:08 +0530 Subject: [PATCH 228/353] Create 1321. Restaurant Growth.md --- .../1321. Restaurant Growth/1321. Restaurant Growth.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1321. Restaurant Growth/1321. Restaurant Growth.md diff --git a/LeetCode SQL 50 Solution/1321. Restaurant Growth/1321. Restaurant Growth.md b/LeetCode SQL 50 Solution/1321. Restaurant Growth/1321. Restaurant Growth.md new file mode 100644 index 0000000..e69de29 From 2dcc4fe9875534e275011f1284cece0537c9f198 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:52:51 +0530 Subject: [PATCH 229/353] Create 1327. List the Products Ordered in a Period.py --- .../1327. List the Products Ordered in a Period.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period/1327. List the Products Ordered in a Period.py diff --git a/LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period/1327. List the Products Ordered in a Period.py b/LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period/1327. List the Products Ordered in a Period.py new file mode 100644 index 0000000..e69de29 From 0fe7a55b11ab8d232ffcea04e67489b94648f0e3 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:52:59 +0530 Subject: [PATCH 230/353] Create readme.md --- .../1327. List the Products Ordered in a Period/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period/readme.md diff --git a/LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period/readme.md b/LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period/readme.md new file mode 100644 index 0000000..e69de29 From c78261fead012c840e7434a518e1c5d04e8543b9 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:53:13 +0530 Subject: [PATCH 231/353] Create 1341. Movie Rating.py --- LeetCode SQL 50 Solution/1341. Movie Rating/1341. Movie Rating.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1341. Movie Rating/1341. Movie Rating.py diff --git a/LeetCode SQL 50 Solution/1341. Movie Rating/1341. Movie Rating.py b/LeetCode SQL 50 Solution/1341. Movie Rating/1341. Movie Rating.py new file mode 100644 index 0000000..e69de29 From f70c0f96631dcee51b8cd7b1c2c11c7d702062da Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:53:23 +0530 Subject: [PATCH 232/353] Create readme.md --- LeetCode SQL 50 Solution/1341. Movie Rating/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1341. Movie Rating/readme.md diff --git a/LeetCode SQL 50 Solution/1341. Movie Rating/readme.md b/LeetCode SQL 50 Solution/1341. Movie Rating/readme.md new file mode 100644 index 0000000..e69de29 From 67ab330e56c38f51686c6e82565ae023a3b2a76a Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:53:41 +0530 Subject: [PATCH 233/353] Create 1378. Replace Employee ID With The Unique Identifier.md --- .../1378. Replace Employee ID With The Unique Identifier.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier/1378. Replace Employee ID With The Unique Identifier.md diff --git a/LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier/1378. Replace Employee ID With The Unique Identifier.md b/LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier/1378. Replace Employee ID With The Unique Identifier.md new file mode 100644 index 0000000..e69de29 From 76147b4aa44229950f90791cd55b2bad4918494e Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:54:10 +0530 Subject: [PATCH 234/353] Create readme.md --- .../readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier/readme.md diff --git a/LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier/readme.md b/LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier/readme.md new file mode 100644 index 0000000..e69de29 From 57c9872ffa11a73e4d30c670ad63c9c8f9e8f4cf Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:55:47 +0530 Subject: [PATCH 235/353] Create 1484. Group Sold Products By The Date.py --- .../1484. Group Sold Products By The Date.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1484. Group Sold Products By The Date/1484. Group Sold Products By The Date.py diff --git a/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date/1484. Group Sold Products By The Date.py b/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date/1484. Group Sold Products By The Date.py new file mode 100644 index 0000000..e69de29 From 52e78d2cd8a59a3983d101240a65e1c645d66b10 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:55:57 +0530 Subject: [PATCH 236/353] Create readme.md --- .../1484. Group Sold Products By The Date/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1484. Group Sold Products By The Date/readme.md diff --git a/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date/readme.md b/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date/readme.md new file mode 100644 index 0000000..e69de29 From a3e3c8648d008ddaeb7c66176beb3c73d8ab6626 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:56:13 +0530 Subject: [PATCH 237/353] Create 1517. Find Users With Valid E-Mails.py --- .../1517. Find Users With Valid E-Mails.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails/1517. Find Users With Valid E-Mails.py diff --git a/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails/1517. Find Users With Valid E-Mails.py b/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails/1517. Find Users With Valid E-Mails.py new file mode 100644 index 0000000..e69de29 From e7757010dd53c893c1e4ac4d83d9bcda69e89def Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:56:20 +0530 Subject: [PATCH 238/353] Create readme.md --- .../1517. Find Users With Valid E-Mails/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails/readme.md diff --git a/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails/readme.md b/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails/readme.md new file mode 100644 index 0000000..e69de29 From df64a95f585615e446f33c3582ec93a764c60748 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:56:46 +0530 Subject: [PATCH 239/353] Create 1527. Patients With a Condition.py --- .../1527. Patients With a Condition.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1527. Patients With a Condition/1527. Patients With a Condition.py diff --git a/LeetCode SQL 50 Solution/1527. Patients With a Condition/1527. Patients With a Condition.py b/LeetCode SQL 50 Solution/1527. Patients With a Condition/1527. Patients With a Condition.py new file mode 100644 index 0000000..e69de29 From cf000951167df11a38b43f1d4c951cf28b3011c8 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:57:02 +0530 Subject: [PATCH 240/353] Create readme.md --- .../1527. Patients With a Condition/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1527. Patients With a Condition/readme.md diff --git a/LeetCode SQL 50 Solution/1527. Patients With a Condition/readme.md b/LeetCode SQL 50 Solution/1527. Patients With a Condition/readme.md new file mode 100644 index 0000000..e69de29 From ead3046915a684c5b5753eb750ea10eb287fe35a Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:58:21 +0530 Subject: [PATCH 241/353] Create 1581. Customer Who Visited but Did Not Make Any Transactions.py --- ...581. Customer Who Visited but Did Not Make Any Transactions.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1581. Customer Who Visited but Did Not Make Any Transactions/1581. Customer Who Visited but Did Not Make Any Transactions.py diff --git a/LeetCode SQL 50 Solution/1581. Customer Who Visited but Did Not Make Any Transactions/1581. Customer Who Visited but Did Not Make Any Transactions.py b/LeetCode SQL 50 Solution/1581. Customer Who Visited but Did Not Make Any Transactions/1581. Customer Who Visited but Did Not Make Any Transactions.py new file mode 100644 index 0000000..e69de29 From b33a861eb62ae7fa3cb8c801fea7f7f8cb84380a Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:58:29 +0530 Subject: [PATCH 242/353] Create readme.md --- .../readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1581. Customer Who Visited but Did Not Make Any Transactions/readme.md diff --git a/LeetCode SQL 50 Solution/1581. Customer Who Visited but Did Not Make Any Transactions/readme.md b/LeetCode SQL 50 Solution/1581. Customer Who Visited but Did Not Make Any Transactions/readme.md new file mode 100644 index 0000000..e69de29 From da5ead6d12943ef435457446683a62973d6e760b Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:58:52 +0530 Subject: [PATCH 243/353] Create 1633. Percentage of Users Attended a Contest.py --- .../1633. Percentage of Users Attended a Contest.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1633. Percentage of Users Attended a Contest/1633. Percentage of Users Attended a Contest.py diff --git a/LeetCode SQL 50 Solution/1633. Percentage of Users Attended a Contest/1633. Percentage of Users Attended a Contest.py b/LeetCode SQL 50 Solution/1633. Percentage of Users Attended a Contest/1633. Percentage of Users Attended a Contest.py new file mode 100644 index 0000000..e69de29 From fafc7c98e9b33d1ae4c98c6275f2245e9d962eed Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:59:00 +0530 Subject: [PATCH 244/353] Create readme.md --- .../1633. Percentage of Users Attended a Contest/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1633. Percentage of Users Attended a Contest/readme.md diff --git a/LeetCode SQL 50 Solution/1633. Percentage of Users Attended a Contest/readme.md b/LeetCode SQL 50 Solution/1633. Percentage of Users Attended a Contest/readme.md new file mode 100644 index 0000000..e69de29 From 90115e82de9a164106566518feb0cd3da5c7eebb Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:59:39 +0530 Subject: [PATCH 245/353] Create 1667. Fix Names in a Table,py --- .../1667. Fix Names in a Table/1667. Fix Names in a Table,py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1667. Fix Names in a Table/1667. Fix Names in a Table,py diff --git a/LeetCode SQL 50 Solution/1667. Fix Names in a Table/1667. Fix Names in a Table,py b/LeetCode SQL 50 Solution/1667. Fix Names in a Table/1667. Fix Names in a Table,py new file mode 100644 index 0000000..e69de29 From 36be8890bb051e307ab33df9b81b4c0b6823e346 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:59:58 +0530 Subject: [PATCH 246/353] ds --- ...667. Fix Names in a Table,py => 1667. Fix Names in a Table.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LeetCode SQL 50 Solution/1667. Fix Names in a Table/{1667. Fix Names in a Table,py => 1667. Fix Names in a Table.py} (100%) diff --git a/LeetCode SQL 50 Solution/1667. Fix Names in a Table/1667. Fix Names in a Table,py b/LeetCode SQL 50 Solution/1667. Fix Names in a Table/1667. Fix Names in a Table.py similarity index 100% rename from LeetCode SQL 50 Solution/1667. Fix Names in a Table/1667. Fix Names in a Table,py rename to LeetCode SQL 50 Solution/1667. Fix Names in a Table/1667. Fix Names in a Table.py From bdb5ba29395381a0323264e094f8fc5a22697ce7 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:00:07 +0530 Subject: [PATCH 247/353] Create readme.md --- LeetCode SQL 50 Solution/1667. Fix Names in a Table/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1667. Fix Names in a Table/readme.md diff --git a/LeetCode SQL 50 Solution/1667. Fix Names in a Table/readme.md b/LeetCode SQL 50 Solution/1667. Fix Names in a Table/readme.md new file mode 100644 index 0000000..e69de29 From dd53f3fcb6d040f3d10ba48f1ff0678f36c1278f Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:00:25 +0530 Subject: [PATCH 248/353] Create 1683. Invalid Tweets.py --- .../1683. Invalid Tweets/1683. Invalid Tweets.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1683. Invalid Tweets/1683. Invalid Tweets.py diff --git a/LeetCode SQL 50 Solution/1683. Invalid Tweets/1683. Invalid Tweets.py b/LeetCode SQL 50 Solution/1683. Invalid Tweets/1683. Invalid Tweets.py new file mode 100644 index 0000000..e69de29 From 986b3fbc9c7c18c2672cc9116f72c3dc3bcd3200 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:00:36 +0530 Subject: [PATCH 249/353] Create readme.md --- LeetCode SQL 50 Solution/1683. Invalid Tweets/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1683. Invalid Tweets/readme.md diff --git a/LeetCode SQL 50 Solution/1683. Invalid Tweets/readme.md b/LeetCode SQL 50 Solution/1683. Invalid Tweets/readme.md new file mode 100644 index 0000000..e69de29 From 3864ee610b83620f1f4954f3ea0ae6d2d1fac500 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:00:50 +0530 Subject: [PATCH 250/353] Create 1729. Find Followers Count.py --- .../1729. Find Followers Count/1729. Find Followers Count.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1729. Find Followers Count/1729. Find Followers Count.py diff --git a/LeetCode SQL 50 Solution/1729. Find Followers Count/1729. Find Followers Count.py b/LeetCode SQL 50 Solution/1729. Find Followers Count/1729. Find Followers Count.py new file mode 100644 index 0000000..e69de29 From e1335cae99fcdd68057fb9e9e2b670069af63c4f Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:01:03 +0530 Subject: [PATCH 251/353] Create readme.md --- LeetCode SQL 50 Solution/1729. Find Followers Count/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1729. Find Followers Count/readme.md diff --git a/LeetCode SQL 50 Solution/1729. Find Followers Count/readme.md b/LeetCode SQL 50 Solution/1729. Find Followers Count/readme.md new file mode 100644 index 0000000..e69de29 From 5c1966f9a2e27bc689c81d931040b442ad62492e Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:01:25 +0530 Subject: [PATCH 252/353] Create 1731. The Number of Employees Which Report to Each Employee.py --- ...1731. The Number of Employees Which Report to Each Employee.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee/1731. The Number of Employees Which Report to Each Employee.py diff --git a/LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee/1731. The Number of Employees Which Report to Each Employee.py b/LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee/1731. The Number of Employees Which Report to Each Employee.py new file mode 100644 index 0000000..e69de29 From 5fffef826cafa5179ba108d7fa5ce9de3868fa2e Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:01:32 +0530 Subject: [PATCH 253/353] Create readme.md --- .../readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee/readme.md diff --git a/LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee/readme.md b/LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee/readme.md new file mode 100644 index 0000000..e69de29 From d7e72a5f27eaba3be2a511007b7aa7195d5f791c Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:01:54 +0530 Subject: [PATCH 254/353] Create 1757. Recyclable and Low Fat Products.py --- .../1757. Recyclable and Low Fat Products.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products/1757. Recyclable and Low Fat Products.py diff --git a/LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products/1757. Recyclable and Low Fat Products.py b/LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products/1757. Recyclable and Low Fat Products.py new file mode 100644 index 0000000..e69de29 From fd2a5aabb9c2b21e202a448ccd65f83eb5d93b6f Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:02:09 +0530 Subject: [PATCH 255/353] Create readme.md --- .../1757. Recyclable and Low Fat Products/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products/readme.md diff --git a/LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products/readme.md b/LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products/readme.md new file mode 100644 index 0000000..e69de29 From d39ee34a5958a6af68b8c73aeaf70c9d04197afe Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:04:45 +0530 Subject: [PATCH 256/353] Create 1789. Primary Department for Each Employee.py --- .../1789. Primary Department for Each Employee.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1789. Primary Department for Each Employee/1789. Primary Department for Each Employee.py diff --git a/LeetCode SQL 50 Solution/1789. Primary Department for Each Employee/1789. Primary Department for Each Employee.py b/LeetCode SQL 50 Solution/1789. Primary Department for Each Employee/1789. Primary Department for Each Employee.py new file mode 100644 index 0000000..e69de29 From 9a7f2303a84aac6ad8d6b6ffe0e4017a3b851f0e Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:04:53 +0530 Subject: [PATCH 257/353] Create readme.md --- .../1789. Primary Department for Each Employee/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1789. Primary Department for Each Employee/readme.md diff --git a/LeetCode SQL 50 Solution/1789. Primary Department for Each Employee/readme.md b/LeetCode SQL 50 Solution/1789. Primary Department for Each Employee/readme.md new file mode 100644 index 0000000..e69de29 From fa7861d8deb143897ec43fde20180ba7bc1dc29d Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:05:12 +0530 Subject: [PATCH 258/353] Create 1907. Count Salary Categories.py --- .../1907. Count Salary Categories.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1907. Count Salary Categories/1907. Count Salary Categories.py diff --git a/LeetCode SQL 50 Solution/1907. Count Salary Categories/1907. Count Salary Categories.py b/LeetCode SQL 50 Solution/1907. Count Salary Categories/1907. Count Salary Categories.py new file mode 100644 index 0000000..e69de29 From f0531699f542e61bec3e7d8e3b67086332d7c982 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:05:19 +0530 Subject: [PATCH 259/353] Create readme.md --- LeetCode SQL 50 Solution/1907. Count Salary Categories/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1907. Count Salary Categories/readme.md diff --git a/LeetCode SQL 50 Solution/1907. Count Salary Categories/readme.md b/LeetCode SQL 50 Solution/1907. Count Salary Categories/readme.md new file mode 100644 index 0000000..e69de29 From 704f62f2085468c2eb6dc09e740dea45a2cd2350 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:05:47 +0530 Subject: [PATCH 260/353] Create 1934. Confirmation Rate.py --- .../1934. Confirmation Rate/1934. Confirmation Rate.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1934. Confirmation Rate/1934. Confirmation Rate.py diff --git a/LeetCode SQL 50 Solution/1934. Confirmation Rate/1934. Confirmation Rate.py b/LeetCode SQL 50 Solution/1934. Confirmation Rate/1934. Confirmation Rate.py new file mode 100644 index 0000000..e69de29 From 6067143db3e83e043ec0501ba2a70ffa82f9acf0 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:05:55 +0530 Subject: [PATCH 261/353] Create readme.md --- LeetCode SQL 50 Solution/1934. Confirmation Rate/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1934. Confirmation Rate/readme.md diff --git a/LeetCode SQL 50 Solution/1934. Confirmation Rate/readme.md b/LeetCode SQL 50 Solution/1934. Confirmation Rate/readme.md new file mode 100644 index 0000000..e69de29 From 632393bcb70a04f733fac6e5fbcabc352c8820c0 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:06:10 +0530 Subject: [PATCH 262/353] Create 1978. Employees Whose Manager Left the Company.py --- .../1978. Employees Whose Manager Left the Company.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company/1978. Employees Whose Manager Left the Company.py diff --git a/LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company/1978. Employees Whose Manager Left the Company.py b/LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company/1978. Employees Whose Manager Left the Company.py new file mode 100644 index 0000000..e69de29 From fe33d160b96201b9e009fa86947df81c3639e764 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:06:21 +0530 Subject: [PATCH 263/353] Create readme.md --- .../1978. Employees Whose Manager Left the Company/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company/readme.md diff --git a/LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company/readme.md b/LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company/readme.md new file mode 100644 index 0000000..e69de29 From 65240ce0c2cf0de0b63d7b531f68b7e07763942e Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:06:38 +0530 Subject: [PATCH 264/353] Create readme.md --- .../readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher/readme.md diff --git a/LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher/readme.md b/LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher/readme.md new file mode 100644 index 0000000..e69de29 From 4d9788b1c20ad6fcedbe6c57c9f3fd86aa7c4813 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:06:57 +0530 Subject: [PATCH 265/353] Create prosnal_database.py --- LeetCode SQL 50 Solution/prosnal_database/prosnal_database.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/prosnal_database/prosnal_database.py diff --git a/LeetCode SQL 50 Solution/prosnal_database/prosnal_database.py b/LeetCode SQL 50 Solution/prosnal_database/prosnal_database.py new file mode 100644 index 0000000..e69de29 From 724e843d82acdc4271829a13c400de86e7c7b616 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:07:05 +0530 Subject: [PATCH 266/353] Create readme.md --- LeetCode SQL 50 Solution/prosnal_database/readme.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 LeetCode SQL 50 Solution/prosnal_database/readme.md diff --git a/LeetCode SQL 50 Solution/prosnal_database/readme.md b/LeetCode SQL 50 Solution/prosnal_database/readme.md new file mode 100644 index 0000000..e69de29 From bcee40a6ad2e2fe156a32526529f969b3f46fb1f Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:11:50 +0530 Subject: [PATCH 267/353] Update readme.md --- .../readme.md | 181 ++++++++++++++++++ 1 file changed, 181 insertions(+) diff --git a/LeetCode SQL 50 Solution/1045. Customers Who Bought All Products/readme.md b/LeetCode SQL 50 Solution/1045. Customers Who Bought All Products/readme.md index e69de29..2d3bb82 100644 --- a/LeetCode SQL 50 Solution/1045. Customers Who Bought All Products/readme.md +++ b/LeetCode SQL 50 Solution/1045. Customers Who Bought All Products/readme.md @@ -0,0 +1,181 @@ +Here’s the updated README.md, including **Pandas and Window SQL solutions** along with the original **MySQL solution**. + +--- + +# **1045. Customers Who Bought All Products** + +## **Problem Statement** +You are given two tables: +- `Customer` (contains `customer_id` and `product_key`) +- `Product` (contains all available `product_key`s) + +Each `product_key` in `Customer` is a **foreign key** referring to the `Product` table. + +### **Customer Table** +``` ++-------------+-------------+ +| Column Name | Type | ++-------------+-------------+ +| customer_id | int | +| product_key | int | ++-------------+-------------+ +``` +- The table may contain **duplicate rows**. +- `customer_id` is **not NULL**. +- `product_key` refers to the `Product` table. + +### **Product Table** +``` ++-------------+ +| product_key | ++-------------+ +| int | ++-------------+ +``` +- `product_key` is the **primary key** (unique values) of this table. + +### **Task:** +Find **all customer IDs** who bought **every product** listed in the `Product` table. + +--- + +## **Example 1:** + +### **Input:** +**Customer Table** +``` ++-------------+-------------+ +| customer_id | product_key | ++-------------+-------------+ +| 1 | 5 | +| 2 | 6 | +| 3 | 5 | +| 3 | 6 | +| 1 | 6 | ++-------------+-------------+ +``` + +**Product Table** +``` ++-------------+ +| product_key | ++-------------+ +| 5 | +| 6 | ++-------------+ +``` + +### **Output:** +``` ++-------------+ +| customer_id | ++-------------+ +| 1 | +| 3 | ++-------------+ +``` + +### **Explanation:** +- There are **two products** (5 and 6). +- Customers who bought **both** products: + - **Customer 1**: Bought `5, 6` ✅ + - **Customer 2**: Bought `6` ❌ (missing `5`) + - **Customer 3**: Bought `5, 6` ✅ +- So, **customers 1 and 3** are returned. + +--- + +## **SQL Solutions** + +### **1️⃣ Standard MySQL Solution** +```sql +SELECT customer_id +FROM Customer +GROUP BY customer_id +HAVING COUNT(DISTINCT product_key) = (SELECT COUNT(product_key) FROM Product); +``` +#### **Explanation:** +1. **GROUP BY `customer_id`** → Group purchases per customer. +2. **COUNT(DISTINCT product_key)** → Count unique products each customer bought. +3. **Compare with total products:** + - `(SELECT COUNT(product_key) FROM Product)` counts all available products. + - Only customers with `COUNT(DISTINCT product_key) = total products` are included. +4. **HAVING** ensures we return only those who bought **all products**. + +--- + +### **2️⃣ Window Function (SQL) Solution** +```sql +WITH product_count AS ( + SELECT COUNT(*) AS total_products FROM Product +), +customer_purchase AS ( + SELECT customer_id, COUNT(DISTINCT product_key) AS purchased_count + FROM Customer + GROUP BY customer_id +) +SELECT customer_id +FROM customer_purchase, product_count +WHERE customer_purchase.purchased_count = product_count.total_products; +``` +#### **Explanation:** +1. **CTE `product_count`** → Stores total number of products in `Product` table. +2. **CTE `customer_purchase`** → Groups purchases per customer and counts distinct products. +3. **Final SELECT query** → Compares each customer's purchase count with `total_products` and returns only those who match. + +--- + +## **Pandas Solution (Python)** +```python +import pandas as pd + +# Sample data +customer_data = {'customer_id': [1, 2, 3, 3, 1], + 'product_key': [5, 6, 5, 6, 6]} +product_data = {'product_key': [5, 6]} + +# Create DataFrames +customer_df = pd.DataFrame(customer_data) +product_df = pd.DataFrame(product_data) + +# Get the total number of products +total_products = product_df['product_key'].nunique() + +# Count distinct products per customer +customer_purchase = customer_df.groupby('customer_id')['product_key'].nunique() + +# Filter customers who bought all products +result = customer_purchase[customer_purchase == total_products].reset_index() + +print(result) +``` + +### **Explanation:** +1. **Create DataFrames** → Convert customer and product tables into Pandas DataFrames. +2. **Get total unique products** → `product_df['product_key'].nunique()` +3. **Count distinct products per customer** → `.groupby('customer_id')['product_key'].nunique()` +4. **Filter customers who match total products** → Customers with `purchased_count == total_products` +5. **Return final result**. + +--- + +## **File Structure** +``` +LeetCode1045/ +├── problem_statement.md # Contains the problem description and constraints. +├── sql_solution.sql # Contains the SQL solutions (Standard + Window Functions). +├── pandas_solution.py # Contains the Pandas solution. +├── README.md # Overview of the problem and available solutions. +``` + +--- + +## **Useful Links** +- [LeetCode Problem 1045](https://leetcode.com/problems/customers-who-bought-all-products/) +- [SQL GROUP BY Documentation](https://www.w3schools.com/sql/sql_groupby.asp) +- [SQL HAVING Clause](https://www.w3schools.com/sql/sql_having.asp) +- [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) + +---ture & Useful Links** + +🚀 **Now it's a complete guide!** 🚀 \ No newline at end of file From 7009703b5226522e5f3fd108cdc68d1146e1ee1e Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:11:57 +0530 Subject: [PATCH 268/353] Update 1045. Customers Who Bought All Products.py --- ...1045. Customers Who Bought All Products.py | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/LeetCode SQL 50 Solution/1045. Customers Who Bought All Products/1045. Customers Who Bought All Products.py b/LeetCode SQL 50 Solution/1045. Customers Who Bought All Products/1045. Customers Who Bought All Products.py index e69de29..5db1189 100644 --- a/LeetCode SQL 50 Solution/1045. Customers Who Bought All Products/1045. Customers Who Bought All Products.py +++ b/LeetCode SQL 50 Solution/1045. Customers Who Bought All Products/1045. Customers Who Bought All Products.py @@ -0,0 +1,21 @@ +import pandas as pd + +# Sample data +customer_data = {'customer_id': [1, 2, 3, 3, 1], + 'product_key': [5, 6, 5, 6, 6]} +product_data = {'product_key': [5, 6]} + +# Create DataFrames +customer_df = pd.DataFrame(customer_data) +product_df = pd.DataFrame(product_data) + +# Get the total number of products +total_products = product_df['product_key'].nunique() + +# Count distinct products per customer +customer_purchase = customer_df.groupby('customer_id')['product_key'].nunique() + +# Filter customers who bought all products +result = customer_purchase[customer_purchase == total_products].reset_index() + +print(result) \ No newline at end of file From 93d3f17fe8a255621acb67b33af226ec1937384d Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:13:21 +0530 Subject: [PATCH 269/353] Update readme.md --- .../1068. Product Sales Analysis I/readme.md | 168 ++++++++++++++++++ 1 file changed, 168 insertions(+) diff --git a/LeetCode SQL 50 Solution/1068. Product Sales Analysis I/readme.md b/LeetCode SQL 50 Solution/1068. Product Sales Analysis I/readme.md index e69de29..0ae642e 100644 --- a/LeetCode SQL 50 Solution/1068. Product Sales Analysis I/readme.md +++ b/LeetCode SQL 50 Solution/1068. Product Sales Analysis I/readme.md @@ -0,0 +1,168 @@ + + +# **1068. Product Sales Analysis I** + +## **Problem Statement** +You are given two tables: + +- `Sales` (contains sales data including `product_id`, `year`, `quantity`, and `price`). +- `Product` (contains `product_id` and `product_name`). + +Each `product_id` in `Sales` is a **foreign key** referring to the `Product` table. + +### **Sales Table** +``` ++---------+------------+------+----------+-------+ +| sale_id | product_id | year | quantity | price | ++---------+------------+------+----------+-------+ +| int | int | int | int | int | ++---------+------------+------+----------+-------+ +``` +- `(sale_id, year)` is the **primary key** (unique values). +- `product_id` refers to the `Product` table. +- `price` represents the **per unit price** of the product in that year. + +### **Product Table** +``` ++------------+--------------+ +| product_id | product_name | ++------------+--------------+ +| int | varchar | ++------------+--------------+ +``` +- `product_id` is the **primary key** of this table. + +### **Task:** +Find the `product_name`, `year`, and `price` for each sale in the `Sales` table. + +--- + +## **Example 1:** + +### **Input:** +**Sales Table** +``` ++---------+------------+------+----------+-------+ +| sale_id | product_id | year | quantity | price | ++---------+------------+------+----------+-------+ +| 1 | 100 | 2008 | 10 | 5000 | +| 2 | 100 | 2009 | 12 | 5000 | +| 7 | 200 | 2011 | 15 | 9000 | ++---------+------------+------+----------+-------+ +``` + +**Product Table** +``` ++------------+--------------+ +| product_id | product_name | ++------------+--------------+ +| 100 | Nokia | +| 200 | Apple | +| 300 | Samsung | ++------------+--------------+ +``` + +### **Output:** +``` ++--------------+-------+-------+ +| product_name | year | price | ++--------------+-------+-------+ +| Nokia | 2008 | 5000 | +| Nokia | 2009 | 5000 | +| Apple | 2011 | 9000 | ++--------------+-------+-------+ +``` + +### **Explanation:** +- **Sale ID 1:** `Nokia` was sold in **2008** for **5000**. +- **Sale ID 2:** `Nokia` was sold in **2009** for **5000**. +- **Sale ID 7:** `Apple` was sold in **2011** for **9000**. + +--- + +## **SQL Solutions** + +### **1️⃣ Standard MySQL Solution** +```sql +SELECT p.product_name, s.year, s.price +FROM Sales s +JOIN Product p ON s.product_id = p.product_id; +``` +#### **Explanation:** +1. **JOIN** the `Sales` table with the `Product` table using `product_id`. +2. **Select `product_name`, `year`, and `price`** from the joined result. + +--- + +### **2️⃣ Window Function (SQL) Solution** +```sql +WITH SalesData AS ( + SELECT s.product_id, s.year, s.price, p.product_name + FROM Sales s + JOIN Product p ON s.product_id = p.product_id +) +SELECT product_name, year, price +FROM SalesData; +``` +#### **Explanation:** +1. **CTE `SalesData`** → Stores the joined data from `Sales` and `Product`. +2. **Final SELECT** → Retrieves `product_name`, `year`, and `price`. + +--- + +## **Pandas Solution (Python)** +```python +import pandas as pd + +# Sample Data +sales_data = {'sale_id': [1, 2, 7], + 'product_id': [100, 100, 200], + 'year': [2008, 2009, 2011], + 'quantity': [10, 12, 15], + 'price': [5000, 5000, 9000]} + +product_data = {'product_id': [100, 200, 300], + 'product_name': ['Nokia', 'Apple', 'Samsung']} + +# Create DataFrames +sales_df = pd.DataFrame(sales_data) +product_df = pd.DataFrame(product_data) + +# Perform Join +result = sales_df.merge(product_df, on='product_id')[['product_name', 'year', 'price']] + +print(result) +``` + +### **Explanation:** +1. **Create DataFrames** → Convert `Sales` and `Product` tables into Pandas DataFrames. +2. **Perform `merge()` on `product_id`** → Equivalent to SQL `JOIN`. +3. **Select required columns (`product_name`, `year`, `price`)**. + +--- + +## **File Structure** +``` +LeetCode1068/ +├── problem_statement.md # Contains the problem description and constraints. +├── sql_solution.sql # Contains the SQL solutions (Standard + Window Functions). +├── pandas_solution.py # Contains the Pandas solution. +├── README.md # Overview of the problem and available solutions. +``` + +--- + +## **Useful Links** +- [LeetCode Problem 1068](https://leetcode.com/problems/product-sales-analysis-i/) +- [SQL JOIN Documentation](https://www.w3schools.com/sql/sql_join.asp) +- [Pandas Merge Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.merge.html) + +--- + +This README now includes: +✅ **MySQL Query** +✅ **Window SQL Query** +✅ **Pandas Python Solution** +✅ **File Structure & Useful Links** + +🚀 **Now it's a complete guide!** 🚀 \ No newline at end of file From e4f2ac9d367b495aa4b694ef7569d01d706d19c3 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:13:59 +0530 Subject: [PATCH 270/353] Update readme.md --- .../1068. Product Sales Analysis I/readme.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/LeetCode SQL 50 Solution/1068. Product Sales Analysis I/readme.md b/LeetCode SQL 50 Solution/1068. Product Sales Analysis I/readme.md index 0ae642e..94b47f5 100644 --- a/LeetCode SQL 50 Solution/1068. Product Sales Analysis I/readme.md +++ b/LeetCode SQL 50 Solution/1068. Product Sales Analysis I/readme.md @@ -157,12 +157,6 @@ LeetCode1068/ - [SQL JOIN Documentation](https://www.w3schools.com/sql/sql_join.asp) - [Pandas Merge Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.merge.html) ---- -This README now includes: -✅ **MySQL Query** -✅ **Window SQL Query** -✅ **Pandas Python Solution** -✅ **File Structure & Useful Links** -🚀 **Now it's a complete guide!** 🚀 \ No newline at end of file +## 🚀 **Now it's a complete guide!** 🚀 \ No newline at end of file From 8b781315836ab591152b17f974e1f8805c844a82 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:14:09 +0530 Subject: [PATCH 271/353] Update 1068. Product Sales Analysis I.py --- .../1068. Product Sales Analysis I.py | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/LeetCode SQL 50 Solution/1068. Product Sales Analysis I/1068. Product Sales Analysis I.py b/LeetCode SQL 50 Solution/1068. Product Sales Analysis I/1068. Product Sales Analysis I.py index e69de29..a23b6c2 100644 --- a/LeetCode SQL 50 Solution/1068. Product Sales Analysis I/1068. Product Sales Analysis I.py +++ b/LeetCode SQL 50 Solution/1068. Product Sales Analysis I/1068. Product Sales Analysis I.py @@ -0,0 +1,20 @@ +import pandas as pd + +# Sample Data +sales_data = {'sale_id': [1, 2, 7], + 'product_id': [100, 100, 200], + 'year': [2008, 2009, 2011], + 'quantity': [10, 12, 15], + 'price': [5000, 5000, 9000]} + +product_data = {'product_id': [100, 200, 300], + 'product_name': ['Nokia', 'Apple', 'Samsung']} + +# Create DataFrames +sales_df = pd.DataFrame(sales_data) +product_df = pd.DataFrame(product_data) + +# Perform Join +result = sales_df.merge(product_df, on='product_id')[['product_name', 'year', 'price']] + +print(result) \ No newline at end of file From d390a8c03c7b6f0865b62cc5eba810fbfe65168b Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:15:01 +0530 Subject: [PATCH 272/353] Update readme.md --- .../readme.md | 189 ++++++++++++++++++ 1 file changed, 189 insertions(+) diff --git a/LeetCode SQL 50 Solution/1070. Product Sales Analysis III/readme.md b/LeetCode SQL 50 Solution/1070. Product Sales Analysis III/readme.md index e69de29..e873703 100644 --- a/LeetCode SQL 50 Solution/1070. Product Sales Analysis III/readme.md +++ b/LeetCode SQL 50 Solution/1070. Product Sales Analysis III/readme.md @@ -0,0 +1,189 @@ +Here's the **README.md** file including **MySQL, Window SQL, and Pandas solutions** for **LeetCode 1070 - Product Sales Analysis III**. + +--- + +# **1070. Product Sales Analysis III** + +## **Problem Statement** +You are given two tables: + +- `Sales` (contains sales data including `product_id`, `year`, `quantity`, and `price`). +- `Product` (contains `product_id` and `product_name`). + +Each `product_id` in `Sales` is a **foreign key** referring to the `Product` table. + +### **Sales Table** +``` ++---------+------------+------+----------+-------+ +| sale_id | product_id | year | quantity | price | ++---------+------------+------+----------+-------+ +| int | int | int | int | int | ++---------+------------+------+----------+-------+ +``` +- `(sale_id, year)` is the **primary key** (unique values). +- `product_id` refers to the `Product` table. +- `price` represents the **per unit price** of the product in that year. + +### **Product Table** +``` ++------------+--------------+ +| product_id | product_name | ++------------+--------------+ +| int | varchar | ++------------+--------------+ +``` +- `product_id` is the **primary key** of this table. + +### **Task:** +Find the `product_id`, `first_year`, `quantity`, and `price` for **the first year a product was sold**. + +--- + +## **Example 1:** + +### **Input:** +**Sales Table** +``` ++---------+------------+------+----------+-------+ +| sale_id | product_id | year | quantity | price | ++---------+------------+------+----------+-------+ +| 1 | 100 | 2008 | 10 | 5000 | +| 2 | 100 | 2009 | 12 | 5000 | +| 7 | 200 | 2011 | 15 | 9000 | ++---------+------------+------+----------+-------+ +``` + +**Product Table** +``` ++------------+--------------+ +| product_id | product_name | ++------------+--------------+ +| 100 | Nokia | +| 200 | Apple | +| 300 | Samsung | ++------------+--------------+ +``` + +### **Output:** +``` ++------------+------------+----------+-------+ +| product_id | first_year | quantity | price | ++------------+------------+----------+-------+ +| 100 | 2008 | 10 | 5000 | +| 200 | 2011 | 15 | 9000 | ++------------+------------+----------+-------+ +``` + +### **Explanation:** +- **Product 100 (Nokia):** First sold in **2008** with **10 units** at **5000** price. +- **Product 200 (Apple):** First sold in **2011** with **15 units** at **9000** price. + +--- + +## **SQL Solutions** + +### **1️⃣ Standard MySQL Solution** +```sql +SELECT + product_id, + year AS first_year, + quantity, + price +FROM + Sales +WHERE + (product_id, year) IN ( + SELECT + product_id, + MIN(year) AS year + FROM + Sales + GROUP BY + product_id + ); +``` +#### **Explanation:** +1. **Subquery (`MIN(year)`)** → Finds the **first year** (`MIN(year)`) each `product_id` was sold. +2. **Filter the main table** → Selects rows matching the **earliest year** for each product. + +--- + +### **2️⃣ Window Function (SQL) Solution** +```sql +WITH RankedSales AS ( + SELECT + product_id, + year AS first_year, + quantity, + price, + RANK() OVER (PARTITION BY product_id ORDER BY year ASC) AS rnk + FROM Sales +) +SELECT product_id, first_year, quantity, price +FROM RankedSales +WHERE rnk = 1; +``` +#### **Explanation:** +1. **`RANK() OVER (PARTITION BY product_id ORDER BY year ASC)`** + - Assigns **rank 1** to the first sale per `product_id`. +2. **Filter (`WHERE rnk = 1`)** + - Retrieves **only the first sale per product**. + +--- + +## **Pandas Solution (Python)** +```python +import pandas as pd + +# Sample Data +sales_data = {'sale_id': [1, 2, 7], + 'product_id': [100, 100, 200], + 'year': [2008, 2009, 2011], + 'quantity': [10, 12, 15], + 'price': [5000, 5000, 9000]} + +# Create DataFrame +sales_df = pd.DataFrame(sales_data) + +# Find the first sale per product +first_sales = sales_df.loc[sales_df.groupby('product_id')['year'].idxmin(), ['product_id', 'year', 'quantity', 'price']] + +# Rename columns +first_sales.rename(columns={'year': 'first_year'}, inplace=True) + +print(first_sales) +``` + +### **Explanation:** +1. **Create DataFrame** → Convert `Sales` table into Pandas DataFrame. +2. **Group by `product_id` and get the `idxmin()` of `year`** → Finds the first sale per product. +3. **Retrieve `product_id`, `year`, `quantity`, and `price`**. +4. **Rename `year` to `first_year`**. + +--- + +## **File Structure** +``` +LeetCode1070/ +├── problem_statement.md # Contains the problem description and constraints. +├── sql_solution.sql # Contains the SQL solutions (Standard + Window Functions). +├── pandas_solution.py # Contains the Pandas solution. +├── README.md # Overview of the problem and available solutions. +``` + +--- + +## **Useful Links** +- [LeetCode Problem 1070](https://leetcode.com/problems/product-sales-analysis-iii/) +- [SQL JOIN Documentation](https://www.w3schools.com/sql/sql_join.asp) +- [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) + +--- + +This README now includes: +✅ **MySQL Query** +✅ **Window SQL Query** +✅ **Pandas Python Solution** +✅ **File Structure & Useful Links** + +🚀 **Now it's a complete guide!** 🚀 \ No newline at end of file From 4e913498047e8fabfff48c6ea4fa31cecac485ae Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:15:34 +0530 Subject: [PATCH 273/353] Update readme.md --- .../1070. Product Sales Analysis III/readme.md | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/LeetCode SQL 50 Solution/1070. Product Sales Analysis III/readme.md b/LeetCode SQL 50 Solution/1070. Product Sales Analysis III/readme.md index e873703..b8bff49 100644 --- a/LeetCode SQL 50 Solution/1070. Product Sales Analysis III/readme.md +++ b/LeetCode SQL 50 Solution/1070. Product Sales Analysis III/readme.md @@ -1,6 +1,3 @@ -Here's the **README.md** file including **MySQL, Window SQL, and Pandas solutions** for **LeetCode 1070 - Product Sales Analysis III**. - ---- # **1070. Product Sales Analysis III** @@ -178,12 +175,5 @@ LeetCode1070/ - [SQL JOIN Documentation](https://www.w3schools.com/sql/sql_join.asp) - [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) ---- - -This README now includes: -✅ **MySQL Query** -✅ **Window SQL Query** -✅ **Pandas Python Solution** -✅ **File Structure & Useful Links** -🚀 **Now it's a complete guide!** 🚀 \ No newline at end of file +## 🚀 **Now it's a complete guide!** 🚀 \ No newline at end of file From 7ee1d6cba086e62408f052176bd9caf507948159 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:15:51 +0530 Subject: [PATCH 274/353] Update 1070. Product Sales Analysis III.py --- .../1070. Product Sales Analysis III.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/LeetCode SQL 50 Solution/1070. Product Sales Analysis III/1070. Product Sales Analysis III.py b/LeetCode SQL 50 Solution/1070. Product Sales Analysis III/1070. Product Sales Analysis III.py index e69de29..310d14c 100644 --- a/LeetCode SQL 50 Solution/1070. Product Sales Analysis III/1070. Product Sales Analysis III.py +++ b/LeetCode SQL 50 Solution/1070. Product Sales Analysis III/1070. Product Sales Analysis III.py @@ -0,0 +1,19 @@ +import pandas as pd + +# Sample Data +sales_data = {'sale_id': [1, 2, 7], + 'product_id': [100, 100, 200], + 'year': [2008, 2009, 2011], + 'quantity': [10, 12, 15], + 'price': [5000, 5000, 9000]} + +# Create DataFrame +sales_df = pd.DataFrame(sales_data) + +# Find the first sale per product +first_sales = sales_df.loc[sales_df.groupby('product_id')['year'].idxmin(), ['product_id', 'year', 'quantity', 'price']] + +# Rename columns +first_sales.rename(columns={'year': 'first_year'}, inplace=True) + +print(first_sales) \ No newline at end of file From dc83e56fbf5edc0b7f295095d3b3689d9c879999 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 10:52:15 +0530 Subject: [PATCH 275/353] Update readme.md --- .../readme.md | 174 ++++++++++++++++++ 1 file changed, 174 insertions(+) diff --git a/LeetCode SQL 50 Solution/1164. Product Price at a Given Date/readme.md b/LeetCode SQL 50 Solution/1164. Product Price at a Given Date/readme.md index e69de29..c3f4599 100644 --- a/LeetCode SQL 50 Solution/1164. Product Price at a Given Date/readme.md +++ b/LeetCode SQL 50 Solution/1164. Product Price at a Given Date/readme.md @@ -0,0 +1,174 @@ +Here's the **README.md** file including **MySQL, Window SQL, and Pandas solutions** for **LeetCode 1164 - Product Price at a Given Date**. + +--- + +# **1164. Product Price at a Given Date** + +## **Problem Statement** +You are given the **Products** table, which keeps track of price changes. + +### **Products Table** +``` ++------------+-----------+-------------+ +| product_id | new_price | change_date | ++------------+-----------+-------------+ +| int | int | date | ++------------+-----------+-------------+ +``` +- `(product_id, change_date)` is the **primary key**. +- Each row represents a price update for a product on a specific date. + +### **Task:** +Find the price of all products on **2019-08-16**. +Assume the **initial price of all products is 10** before any change occurs. + +--- + +## **Example 1:** + +### **Input:** +**Products Table** +``` ++------------+-----------+-------------+ +| product_id | new_price | change_date | ++------------+-----------+-------------+ +| 1 | 20 | 2019-08-14 | +| 2 | 50 | 2019-08-14 | +| 1 | 30 | 2019-08-15 | +| 1 | 35 | 2019-08-16 | +| 2 | 65 | 2019-08-17 | +| 3 | 20 | 2019-08-18 | ++------------+-----------+-------------+ +``` + +### **Output:** +``` ++------------+-------+ +| product_id | price | ++------------+-------+ +| 2 | 50 | +| 1 | 35 | +| 3 | 10 | ++------------+-------+ +``` + +### **Explanation:** +- **Product 1:** Last change before `2019-08-16` → **35** +- **Product 2:** Last change before `2019-08-16` → **50** +- **Product 3:** **No price change before 2019-08-16**, so default price is **10** + +--- + +## **SQL Solutions** + +### **1️⃣ Standard MySQL Solution** +```sql +SELECT + p.product_id, + COALESCE(( + SELECT new_price + FROM Products + WHERE product_id = p.product_id + AND change_date <= '2019-08-16' + ORDER BY change_date DESC + LIMIT 1 + ), 10) AS price +FROM + (SELECT DISTINCT product_id FROM Products) p; +``` +#### **Explanation:** +1. **Find the last price before or on `2019-08-16`** + - `ORDER BY change_date DESC LIMIT 1` → Gets the most recent price before `2019-08-16`. +2. **Use `COALESCE()`** + - If no price exists, set default price **10**. +3. **Use `DISTINCT product_id`** + - Ensures all unique products are checked. + +--- + +### **2️⃣ Window Function (SQL) Solution** +```sql +WITH RankedPrices AS ( + SELECT + product_id, + new_price AS price, + change_date, + RANK() OVER (PARTITION BY product_id ORDER BY change_date DESC) AS rnk + FROM Products + WHERE change_date <= '2019-08-16' +) +SELECT p.product_id, COALESCE(rp.price, 10) AS price +FROM (SELECT DISTINCT product_id FROM Products) p +LEFT JOIN RankedPrices rp ON p.product_id = rp.product_id AND rp.rnk = 1; +``` +#### **Explanation:** +1. **`RANK() OVER (PARTITION BY product_id ORDER BY change_date DESC)`** + - Assigns **rank 1** to the last price before `2019-08-16`. +2. **`LEFT JOIN` with `DISTINCT product_id`** + - Ensures all products are included. +3. **Use `COALESCE(price, 10)`** + - If no price exists, set default **10**. + +--- + +## **Pandas Solution (Python)** +```python +import pandas as pd + +# Sample Data +products_data = { + 'product_id': [1, 2, 1, 1, 2, 3], + 'new_price': [20, 50, 30, 35, 65, 20], + 'change_date': ['2019-08-14', '2019-08-14', '2019-08-15', '2019-08-16', '2019-08-17', '2019-08-18'] +} + +# Create DataFrame +products_df = pd.DataFrame(products_data) +products_df['change_date'] = pd.to_datetime(products_df['change_date']) # Convert to datetime + +# Filter for changes before or on '2019-08-16' +valid_prices = products_df[products_df['change_date'] <= '2019-08-16'] + +# Get the latest price for each product before '2019-08-16' +latest_prices = valid_prices.sort_values(by=['product_id', 'change_date']).groupby('product_id').last().reset_index() + +# Rename column +latest_prices = latest_prices[['product_id', 'new_price']].rename(columns={'new_price': 'price'}) + +# Get all unique products +all_products = products_df[['product_id']].drop_duplicates() + +# Merge with latest prices and fill missing values with 10 +final_prices = all_products.merge(latest_prices, on='product_id', how='left').fillna({'price': 10}) + +print(final_prices) +``` + +### **Explanation:** +1. **Convert `change_date` to datetime** + - Ensures proper date comparison. +2. **Filter for prices before `2019-08-16`** + - Excludes future price changes. +3. **Get the latest price per product (`groupby().last()`)** + - Retrieves the most recent price change. +4. **Merge with all products and set missing prices to `10`** + - Ensures all products are included. + +--- + +## **File Structure** +``` +LeetCode1164/ +├── problem_statement.md # Contains the problem description and constraints. +├── sql_solution.sql # Contains the SQL solutions (Standard + Window Functions). +├── pandas_solution.py # Contains the Pandas solution. +├── README.md # Overview of the problem and available solutions. +``` + +--- + +## **Useful Links** +- [LeetCode Problem 1164](https://leetcode.com/problems/product-price-at-a-given-date/) +- [SQL COALESCE Documentation](https://www.w3schools.com/sql/sql_coalesce.asp) +- [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) + From 7863db6ba350f46ee1b52bbb5e509362efe4445b Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 10:52:21 +0530 Subject: [PATCH 276/353] Update readme.md --- .../1164. Product Price at a Given Date/readme.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/LeetCode SQL 50 Solution/1164. Product Price at a Given Date/readme.md b/LeetCode SQL 50 Solution/1164. Product Price at a Given Date/readme.md index c3f4599..c10bb5b 100644 --- a/LeetCode SQL 50 Solution/1164. Product Price at a Given Date/readme.md +++ b/LeetCode SQL 50 Solution/1164. Product Price at a Given Date/readme.md @@ -1,6 +1,4 @@ -Here's the **README.md** file including **MySQL, Window SQL, and Pandas solutions** for **LeetCode 1164 - Product Price at a Given Date**. ---- # **1164. Product Price at a Given Date** From cf7a2461b4ac98db68898115db3ef84d7e10f677 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 10:56:06 +0530 Subject: [PATCH 277/353] Update readme.md --- .../readme.md | 31 ++++++++++++------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/LeetCode SQL 50 Solution/1164. Product Price at a Given Date/readme.md b/LeetCode SQL 50 Solution/1164. Product Price at a Given Date/readme.md index c10bb5b..e4aaf10 100644 --- a/LeetCode SQL 50 Solution/1164. Product Price at a Given Date/readme.md +++ b/LeetCode SQL 50 Solution/1164. Product Price at a Given Date/readme.md @@ -86,18 +86,25 @@ FROM ### **2️⃣ Window Function (SQL) Solution** ```sql -WITH RankedPrices AS ( - SELECT - product_id, - new_price AS price, - change_date, - RANK() OVER (PARTITION BY product_id ORDER BY change_date DESC) AS rnk - FROM Products - WHERE change_date <= '2019-08-16' -) -SELECT p.product_id, COALESCE(rp.price, 10) AS price -FROM (SELECT DISTINCT product_id FROM Products) p -LEFT JOIN RankedPrices rp ON p.product_id = rp.product_id AND rp.rnk = 1; +# Write your MySQL query statement below +# Write your MySQL query statement below +WITH + T AS (SELECT DISTINCT product_id FROM Products), + P AS ( + SELECT product_id, new_price AS price + FROM Products + WHERE + (product_id, change_date) IN ( + SELECT product_id, MAX(change_date) AS change_date + FROM Products + WHERE change_date <= '2019-08-16' + GROUP BY 1 + ) + ) +SELECT product_id, IFNULL(price, 10) AS price +FROM + T + LEFT JOIN P USING (product_id); ``` #### **Explanation:** 1. **`RANK() OVER (PARTITION BY product_id ORDER BY change_date DESC)`** From 465cd510dd239f2252c77712e3567b9cbc2df164 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 10:59:21 +0530 Subject: [PATCH 278/353] Update readme.md --- .../1075. Project Employees I/readme.md | 192 ++++++++++++++++++ 1 file changed, 192 insertions(+) diff --git a/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md b/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md index e69de29..62bd0b2 100644 --- a/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md +++ b/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md @@ -0,0 +1,192 @@ +Below is a structured README.md for **LeetCode 1174: Immediate Food Delivery II** following your requested format. + +--- + +# **1174. Immediate Food Delivery II** + +## **Problem Statement** +You are given a table `Delivery` that records food deliveries made to customers. Each row represents an order with the date it was placed and the customer’s preferred delivery date. + +--- + +## **Delivery Table** +``` ++-------------+-------------+------------+-----------------------------+ +| Column Name | Type | Description | ++-------------+-------------+----------------------------------------------+ +| delivery_id | int | Unique identifier for the delivery | +| customer_id | int | Identifier for the customer | +| order_date | date | Date when the order was placed | +| customer_pref_delivery_date | date | Customer’s preferred delivery date | ++-------------+-------------+----------------------------------------------+ +``` +- `delivery_id` is the **primary key**. +- Each customer specifies a preferred delivery date, which can be the same as or after the order date. + +--- + +## **Task:** +Calculate the **percentage** of customers whose **first order** is **immediate** (i.e., the order date is the same as the customer’s preferred delivery date). +- A customer’s **first order** is defined as the order with the **earliest order_date** for that customer. +- The result should be **rounded to 2 decimal places**. +- Return the percentage as `immediate_percentage`. + +--- + +## **Example 1:** + +### **Input:** +**Delivery Table** +``` ++-------------+-------------+------------+-----------------------------+ +| delivery_id | customer_id | order_date | customer_pref_delivery_date | ++-------------+-------------+------------+-----------------------------+ +| 1 | 1 | 2019-08-01 | 2019-08-02 | +| 2 | 2 | 2019-08-02 | 2019-08-02 | +| 3 | 1 | 2019-08-11 | 2019-08-12 | +| 4 | 3 | 2019-08-24 | 2019-08-24 | +| 5 | 3 | 2019-08-21 | 2019-08-22 | +| 6 | 2 | 2019-08-11 | 2019-08-13 | +| 7 | 4 | 2019-08-09 | 2019-08-09 | ++-------------+-------------+------------+-----------------------------+ +``` + +### **Output:** +``` ++----------------------+ +| immediate_percentage | ++----------------------+ +| 50.00 | ++----------------------+ +``` + +### **Explanation:** +- **Customer 1:** First order is on **2019-08-01** (preferred: 2019-08-02) → **Scheduled** +- **Customer 2:** First order is on **2019-08-02** (preferred: 2019-08-02) → **Immediate** +- **Customer 3:** First order is on **2019-08-21** (preferred: 2019-08-22) → **Scheduled** +- **Customer 4:** First order is on **2019-08-09** (preferred: 2019-08-09) → **Immediate** + +Out of 4 customers, 2 have immediate first orders. +Percentage = (2 / 4) * 100 = **50.00** + +--- + +## **SQL Solutions** + +### **1️⃣ Standard MySQL Solution** +```sql +SELECT + ROUND(100 * SUM(CASE + WHEN first_orders.order_date = first_orders.customer_pref_delivery_date THEN 1 + ELSE 0 + END) / COUNT(*), 2) AS immediate_percentage +FROM ( + -- Get the first order (earliest order_date) for each customer + SELECT customer_id, order_date, customer_pref_delivery_date + FROM Delivery + WHERE (customer_id, order_date) IN ( + SELECT customer_id, MIN(order_date) + FROM Delivery + GROUP BY customer_id + ) +) AS first_orders; +``` + +#### **Explanation:** +- **Subquery:** Retrieves the first order for each customer by selecting the minimum `order_date`. +- **Outer Query:** + - Uses a `CASE` statement to check if the `order_date` equals `customer_pref_delivery_date` (i.e., immediate order). + - Calculates the percentage of immediate first orders. + - Rounds the result to 2 decimal places. + +--- + +### **2️⃣ Window Function (SQL) Solution** +```sql +WITH RankedOrders AS ( + SELECT + customer_id, + order_date, + customer_pref_delivery_date, + ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY order_date) AS rn + FROM Delivery +) +SELECT + ROUND(100 * SUM(CASE WHEN order_date = customer_pref_delivery_date THEN 1 ELSE 0 END) / COUNT(*), 2) AS immediate_percentage +FROM RankedOrders +WHERE rn = 1; +``` + +#### **Explanation:** +- **CTE `RankedOrders`:** + - Uses `ROW_NUMBER()` to rank orders for each customer by `order_date`. + - Filters for the first order of each customer (`rn = 1`). +- **Final SELECT:** + - Computes the percentage of first orders that are immediate. + - Rounds the result to 2 decimal places. + +--- + +## **Pandas Solution (Python)** +```python +import pandas as pd + +def immediate_food_delivery_percentage(delivery: pd.DataFrame) -> pd.DataFrame: + # Ensure order_date and customer_pref_delivery_date are in datetime format + delivery['order_date'] = pd.to_datetime(delivery['order_date']) + delivery['customer_pref_delivery_date'] = pd.to_datetime(delivery['customer_pref_delivery_date']) + + # Get the first order date for each customer + first_order = delivery.groupby('customer_id')['order_date'].min().reset_index() + first_order = first_order.rename(columns={'order_date': 'first_order_date'}) + + # Merge to get the corresponding preferred delivery date for the first order + merged = pd.merge(delivery, first_order, on='customer_id', how='inner') + first_orders = merged[merged['order_date'] == merged['first_order_date']] + + # Calculate immediate orders + immediate_count = (first_orders['order_date'] == first_orders['customer_pref_delivery_date']).sum() + total_customers = first_orders['customer_id'].nunique() + immediate_percentage = round(100 * immediate_count / total_customers, 2) + + return pd.DataFrame({'immediate_percentage': [immediate_percentage]}) + +# Example usage: +# df = pd.read_csv('delivery.csv') +# print(immediate_food_delivery_percentage(df)) +``` + +#### **Explanation:** +- **Convert Dates:** + - Convert `order_date` and `customer_pref_delivery_date` to datetime for accurate comparison. +- **Determine First Order:** + - Group by `customer_id` to find the minimum `order_date` as the first order. + - Merge with the original DataFrame to obtain details of the first order. +- **Calculate Percentage:** + - Count how many first orders are immediate (where `order_date` equals `customer_pref_delivery_date`). + - Compute the percentage and round to 2 decimal places. + +--- + +## **File Structure** +``` +LeetCode1174/ +├── problem_statement.md # Contains the problem description and constraints. +├── sql_standard_solution.sql # Contains the Standard MySQL solution. +├── sql_window_solution.sql # Contains the Window Function solution. +├── pandas_solution.py # Contains the Pandas solution. +├── README.md # Overview of the problem and available solutions. +``` + +--- + +## **Useful Links** +- [LeetCode Problem 1174](https://leetcode.com/problems/immediate-food-delivery-ii/) +- [SQL GROUP BY Documentation](https://www.w3schools.com/sql/sql_groupby.asp) +- [SQL Window Functions](https://www.w3schools.com/sql/sql_window.asp) +- [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) +- [Pandas Merge Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.merge.html) + +--- + +This complete guide provides multiple solution approaches with detailed explanations, file organization, and useful resources. Happy coding! 🚀 \ No newline at end of file From 5cd49412d1f9711b01643c9a4eeb39cc2057562d Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 10:59:40 +0530 Subject: [PATCH 279/353] Update readme.md --- .../1075. Project Employees I/readme.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md b/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md index 62bd0b2..ad1e800 100644 --- a/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md +++ b/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md @@ -1,6 +1,4 @@ -Below is a structured README.md for **LeetCode 1174: Immediate Food Delivery II** following your requested format. ---- # **1174. Immediate Food Delivery II** @@ -186,7 +184,3 @@ LeetCode1174/ - [SQL Window Functions](https://www.w3schools.com/sql/sql_window.asp) - [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) - [Pandas Merge Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.merge.html) - ---- - -This complete guide provides multiple solution approaches with detailed explanations, file organization, and useful resources. Happy coding! 🚀 \ No newline at end of file From 8ff3e3a116745bfbcc1d616e054596e5f894489b Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:00:30 +0530 Subject: [PATCH 280/353] as --- .../1075. Project Employees I/readme.md | 186 ------------------ 1 file changed, 186 deletions(-) diff --git a/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md b/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md index ad1e800..e69de29 100644 --- a/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md +++ b/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md @@ -1,186 +0,0 @@ - - -# **1174. Immediate Food Delivery II** - -## **Problem Statement** -You are given a table `Delivery` that records food deliveries made to customers. Each row represents an order with the date it was placed and the customer’s preferred delivery date. - ---- - -## **Delivery Table** -``` -+-------------+-------------+------------+-----------------------------+ -| Column Name | Type | Description | -+-------------+-------------+----------------------------------------------+ -| delivery_id | int | Unique identifier for the delivery | -| customer_id | int | Identifier for the customer | -| order_date | date | Date when the order was placed | -| customer_pref_delivery_date | date | Customer’s preferred delivery date | -+-------------+-------------+----------------------------------------------+ -``` -- `delivery_id` is the **primary key**. -- Each customer specifies a preferred delivery date, which can be the same as or after the order date. - ---- - -## **Task:** -Calculate the **percentage** of customers whose **first order** is **immediate** (i.e., the order date is the same as the customer’s preferred delivery date). -- A customer’s **first order** is defined as the order with the **earliest order_date** for that customer. -- The result should be **rounded to 2 decimal places**. -- Return the percentage as `immediate_percentage`. - ---- - -## **Example 1:** - -### **Input:** -**Delivery Table** -``` -+-------------+-------------+------------+-----------------------------+ -| delivery_id | customer_id | order_date | customer_pref_delivery_date | -+-------------+-------------+------------+-----------------------------+ -| 1 | 1 | 2019-08-01 | 2019-08-02 | -| 2 | 2 | 2019-08-02 | 2019-08-02 | -| 3 | 1 | 2019-08-11 | 2019-08-12 | -| 4 | 3 | 2019-08-24 | 2019-08-24 | -| 5 | 3 | 2019-08-21 | 2019-08-22 | -| 6 | 2 | 2019-08-11 | 2019-08-13 | -| 7 | 4 | 2019-08-09 | 2019-08-09 | -+-------------+-------------+------------+-----------------------------+ -``` - -### **Output:** -``` -+----------------------+ -| immediate_percentage | -+----------------------+ -| 50.00 | -+----------------------+ -``` - -### **Explanation:** -- **Customer 1:** First order is on **2019-08-01** (preferred: 2019-08-02) → **Scheduled** -- **Customer 2:** First order is on **2019-08-02** (preferred: 2019-08-02) → **Immediate** -- **Customer 3:** First order is on **2019-08-21** (preferred: 2019-08-22) → **Scheduled** -- **Customer 4:** First order is on **2019-08-09** (preferred: 2019-08-09) → **Immediate** - -Out of 4 customers, 2 have immediate first orders. -Percentage = (2 / 4) * 100 = **50.00** - ---- - -## **SQL Solutions** - -### **1️⃣ Standard MySQL Solution** -```sql -SELECT - ROUND(100 * SUM(CASE - WHEN first_orders.order_date = first_orders.customer_pref_delivery_date THEN 1 - ELSE 0 - END) / COUNT(*), 2) AS immediate_percentage -FROM ( - -- Get the first order (earliest order_date) for each customer - SELECT customer_id, order_date, customer_pref_delivery_date - FROM Delivery - WHERE (customer_id, order_date) IN ( - SELECT customer_id, MIN(order_date) - FROM Delivery - GROUP BY customer_id - ) -) AS first_orders; -``` - -#### **Explanation:** -- **Subquery:** Retrieves the first order for each customer by selecting the minimum `order_date`. -- **Outer Query:** - - Uses a `CASE` statement to check if the `order_date` equals `customer_pref_delivery_date` (i.e., immediate order). - - Calculates the percentage of immediate first orders. - - Rounds the result to 2 decimal places. - ---- - -### **2️⃣ Window Function (SQL) Solution** -```sql -WITH RankedOrders AS ( - SELECT - customer_id, - order_date, - customer_pref_delivery_date, - ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY order_date) AS rn - FROM Delivery -) -SELECT - ROUND(100 * SUM(CASE WHEN order_date = customer_pref_delivery_date THEN 1 ELSE 0 END) / COUNT(*), 2) AS immediate_percentage -FROM RankedOrders -WHERE rn = 1; -``` - -#### **Explanation:** -- **CTE `RankedOrders`:** - - Uses `ROW_NUMBER()` to rank orders for each customer by `order_date`. - - Filters for the first order of each customer (`rn = 1`). -- **Final SELECT:** - - Computes the percentage of first orders that are immediate. - - Rounds the result to 2 decimal places. - ---- - -## **Pandas Solution (Python)** -```python -import pandas as pd - -def immediate_food_delivery_percentage(delivery: pd.DataFrame) -> pd.DataFrame: - # Ensure order_date and customer_pref_delivery_date are in datetime format - delivery['order_date'] = pd.to_datetime(delivery['order_date']) - delivery['customer_pref_delivery_date'] = pd.to_datetime(delivery['customer_pref_delivery_date']) - - # Get the first order date for each customer - first_order = delivery.groupby('customer_id')['order_date'].min().reset_index() - first_order = first_order.rename(columns={'order_date': 'first_order_date'}) - - # Merge to get the corresponding preferred delivery date for the first order - merged = pd.merge(delivery, first_order, on='customer_id', how='inner') - first_orders = merged[merged['order_date'] == merged['first_order_date']] - - # Calculate immediate orders - immediate_count = (first_orders['order_date'] == first_orders['customer_pref_delivery_date']).sum() - total_customers = first_orders['customer_id'].nunique() - immediate_percentage = round(100 * immediate_count / total_customers, 2) - - return pd.DataFrame({'immediate_percentage': [immediate_percentage]}) - -# Example usage: -# df = pd.read_csv('delivery.csv') -# print(immediate_food_delivery_percentage(df)) -``` - -#### **Explanation:** -- **Convert Dates:** - - Convert `order_date` and `customer_pref_delivery_date` to datetime for accurate comparison. -- **Determine First Order:** - - Group by `customer_id` to find the minimum `order_date` as the first order. - - Merge with the original DataFrame to obtain details of the first order. -- **Calculate Percentage:** - - Count how many first orders are immediate (where `order_date` equals `customer_pref_delivery_date`). - - Compute the percentage and round to 2 decimal places. - ---- - -## **File Structure** -``` -LeetCode1174/ -├── problem_statement.md # Contains the problem description and constraints. -├── sql_standard_solution.sql # Contains the Standard MySQL solution. -├── sql_window_solution.sql # Contains the Window Function solution. -├── pandas_solution.py # Contains the Pandas solution. -├── README.md # Overview of the problem and available solutions. -``` - ---- - -## **Useful Links** -- [LeetCode Problem 1174](https://leetcode.com/problems/immediate-food-delivery-ii/) -- [SQL GROUP BY Documentation](https://www.w3schools.com/sql/sql_groupby.asp) -- [SQL Window Functions](https://www.w3schools.com/sql/sql_window.asp) -- [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) -- [Pandas Merge Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.merge.html) From f863d4f8394cacdd05c8fba3d78465fe688c543c Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:00:37 +0530 Subject: [PATCH 281/353] Update readme.md --- .../readme.md | 186 ++++++++++++++++++ 1 file changed, 186 insertions(+) diff --git a/LeetCode SQL 50 Solution/1174. Immediate Food Delivery II/readme.md b/LeetCode SQL 50 Solution/1174. Immediate Food Delivery II/readme.md index e69de29..ad1e800 100644 --- a/LeetCode SQL 50 Solution/1174. Immediate Food Delivery II/readme.md +++ b/LeetCode SQL 50 Solution/1174. Immediate Food Delivery II/readme.md @@ -0,0 +1,186 @@ + + +# **1174. Immediate Food Delivery II** + +## **Problem Statement** +You are given a table `Delivery` that records food deliveries made to customers. Each row represents an order with the date it was placed and the customer’s preferred delivery date. + +--- + +## **Delivery Table** +``` ++-------------+-------------+------------+-----------------------------+ +| Column Name | Type | Description | ++-------------+-------------+----------------------------------------------+ +| delivery_id | int | Unique identifier for the delivery | +| customer_id | int | Identifier for the customer | +| order_date | date | Date when the order was placed | +| customer_pref_delivery_date | date | Customer’s preferred delivery date | ++-------------+-------------+----------------------------------------------+ +``` +- `delivery_id` is the **primary key**. +- Each customer specifies a preferred delivery date, which can be the same as or after the order date. + +--- + +## **Task:** +Calculate the **percentage** of customers whose **first order** is **immediate** (i.e., the order date is the same as the customer’s preferred delivery date). +- A customer’s **first order** is defined as the order with the **earliest order_date** for that customer. +- The result should be **rounded to 2 decimal places**. +- Return the percentage as `immediate_percentage`. + +--- + +## **Example 1:** + +### **Input:** +**Delivery Table** +``` ++-------------+-------------+------------+-----------------------------+ +| delivery_id | customer_id | order_date | customer_pref_delivery_date | ++-------------+-------------+------------+-----------------------------+ +| 1 | 1 | 2019-08-01 | 2019-08-02 | +| 2 | 2 | 2019-08-02 | 2019-08-02 | +| 3 | 1 | 2019-08-11 | 2019-08-12 | +| 4 | 3 | 2019-08-24 | 2019-08-24 | +| 5 | 3 | 2019-08-21 | 2019-08-22 | +| 6 | 2 | 2019-08-11 | 2019-08-13 | +| 7 | 4 | 2019-08-09 | 2019-08-09 | ++-------------+-------------+------------+-----------------------------+ +``` + +### **Output:** +``` ++----------------------+ +| immediate_percentage | ++----------------------+ +| 50.00 | ++----------------------+ +``` + +### **Explanation:** +- **Customer 1:** First order is on **2019-08-01** (preferred: 2019-08-02) → **Scheduled** +- **Customer 2:** First order is on **2019-08-02** (preferred: 2019-08-02) → **Immediate** +- **Customer 3:** First order is on **2019-08-21** (preferred: 2019-08-22) → **Scheduled** +- **Customer 4:** First order is on **2019-08-09** (preferred: 2019-08-09) → **Immediate** + +Out of 4 customers, 2 have immediate first orders. +Percentage = (2 / 4) * 100 = **50.00** + +--- + +## **SQL Solutions** + +### **1️⃣ Standard MySQL Solution** +```sql +SELECT + ROUND(100 * SUM(CASE + WHEN first_orders.order_date = first_orders.customer_pref_delivery_date THEN 1 + ELSE 0 + END) / COUNT(*), 2) AS immediate_percentage +FROM ( + -- Get the first order (earliest order_date) for each customer + SELECT customer_id, order_date, customer_pref_delivery_date + FROM Delivery + WHERE (customer_id, order_date) IN ( + SELECT customer_id, MIN(order_date) + FROM Delivery + GROUP BY customer_id + ) +) AS first_orders; +``` + +#### **Explanation:** +- **Subquery:** Retrieves the first order for each customer by selecting the minimum `order_date`. +- **Outer Query:** + - Uses a `CASE` statement to check if the `order_date` equals `customer_pref_delivery_date` (i.e., immediate order). + - Calculates the percentage of immediate first orders. + - Rounds the result to 2 decimal places. + +--- + +### **2️⃣ Window Function (SQL) Solution** +```sql +WITH RankedOrders AS ( + SELECT + customer_id, + order_date, + customer_pref_delivery_date, + ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY order_date) AS rn + FROM Delivery +) +SELECT + ROUND(100 * SUM(CASE WHEN order_date = customer_pref_delivery_date THEN 1 ELSE 0 END) / COUNT(*), 2) AS immediate_percentage +FROM RankedOrders +WHERE rn = 1; +``` + +#### **Explanation:** +- **CTE `RankedOrders`:** + - Uses `ROW_NUMBER()` to rank orders for each customer by `order_date`. + - Filters for the first order of each customer (`rn = 1`). +- **Final SELECT:** + - Computes the percentage of first orders that are immediate. + - Rounds the result to 2 decimal places. + +--- + +## **Pandas Solution (Python)** +```python +import pandas as pd + +def immediate_food_delivery_percentage(delivery: pd.DataFrame) -> pd.DataFrame: + # Ensure order_date and customer_pref_delivery_date are in datetime format + delivery['order_date'] = pd.to_datetime(delivery['order_date']) + delivery['customer_pref_delivery_date'] = pd.to_datetime(delivery['customer_pref_delivery_date']) + + # Get the first order date for each customer + first_order = delivery.groupby('customer_id')['order_date'].min().reset_index() + first_order = first_order.rename(columns={'order_date': 'first_order_date'}) + + # Merge to get the corresponding preferred delivery date for the first order + merged = pd.merge(delivery, first_order, on='customer_id', how='inner') + first_orders = merged[merged['order_date'] == merged['first_order_date']] + + # Calculate immediate orders + immediate_count = (first_orders['order_date'] == first_orders['customer_pref_delivery_date']).sum() + total_customers = first_orders['customer_id'].nunique() + immediate_percentage = round(100 * immediate_count / total_customers, 2) + + return pd.DataFrame({'immediate_percentage': [immediate_percentage]}) + +# Example usage: +# df = pd.read_csv('delivery.csv') +# print(immediate_food_delivery_percentage(df)) +``` + +#### **Explanation:** +- **Convert Dates:** + - Convert `order_date` and `customer_pref_delivery_date` to datetime for accurate comparison. +- **Determine First Order:** + - Group by `customer_id` to find the minimum `order_date` as the first order. + - Merge with the original DataFrame to obtain details of the first order. +- **Calculate Percentage:** + - Count how many first orders are immediate (where `order_date` equals `customer_pref_delivery_date`). + - Compute the percentage and round to 2 decimal places. + +--- + +## **File Structure** +``` +LeetCode1174/ +├── problem_statement.md # Contains the problem description and constraints. +├── sql_standard_solution.sql # Contains the Standard MySQL solution. +├── sql_window_solution.sql # Contains the Window Function solution. +├── pandas_solution.py # Contains the Pandas solution. +├── README.md # Overview of the problem and available solutions. +``` + +--- + +## **Useful Links** +- [LeetCode Problem 1174](https://leetcode.com/problems/immediate-food-delivery-ii/) +- [SQL GROUP BY Documentation](https://www.w3schools.com/sql/sql_groupby.asp) +- [SQL Window Functions](https://www.w3schools.com/sql/sql_window.asp) +- [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) +- [Pandas Merge Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.merge.html) From cd802c7b75d16dceff3fc9d315bf3454a697e5ab Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:07:56 +0530 Subject: [PATCH 282/353] Update readme.md --- .../1075. Project Employees I/readme.md | 140 ++++++++++++++++++ 1 file changed, 140 insertions(+) diff --git a/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md b/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md index e69de29..4b365c1 100644 --- a/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md +++ b/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md @@ -0,0 +1,140 @@ +Here's a well-formatted `README.md` file for your GitHub repository with the SQL solutions: + +```md +# 🏆 Project Employees I - LeetCode 1075 + +## 📌 Problem Statement +You are given two tables: **Project** and **Employee**. + +### Project Table +| Column Name | Type | +| ----------- | ---- | +| project_id | int | +| employee_id | int | + +- `(project_id, employee_id)` is the primary key of this table. +- `employee_id` is a foreign key referencing the `Employee` table. + +### Employee Table +| Column Name | Type | +| ---------------- | ------- | +| employee_id | int | +| name | varchar | +| experience_years | int | + +- `employee_id` is the primary key. +- `experience_years` is guaranteed to be **NOT NULL**. + +The task is to **return the average experience years of all employees for each project, rounded to 2 decimal places**. + +--- + +## 📊 Example 1: +### Input: +**Project Table** +| project_id | employee_id | +| ---------- | ----------- | +| 1 | 1 | +| 1 | 2 | +| 1 | 3 | +| 2 | 1 | +| 2 | 4 | + +**Employee Table** +| employee_id | name | experience_years | +| ----------- | ------ | ---------------- | +| 1 | Khaled | 3 | +| 2 | Ali | 2 | +| 3 | John | 1 | +| 4 | Doe | 2 | + +### Output: +| project_id | average_years | +| ---------- | ------------- | +| 1 | 2.00 | +| 2 | 2.50 | + +### Explanation: +- **Project 1:** `(3 + 2 + 1) / 3 = 2.00` +- **Project 2:** `(3 + 2) / 2 = 2.50` + +--- + +## 🖥 SQL Solutions + +### 1️⃣ Standard MySQL Solution +#### Explanation: +- We **JOIN** the `Project` and `Employee` tables using `employee_id`. +- We **calculate the average** of `experience_years` for each `project_id`. +- We **round** the result to **two decimal places**. + +```sql +SELECT project_id, ROUND(AVG(experience_years), 2) AS average_years +FROM project AS p +LEFT JOIN employee AS e +ON p.employee_id = e.employee_id +GROUP BY project_id; +``` + +--- + +### 2️⃣ Window Function (SQL) Solution +#### Explanation: +- Using **window functions**, we calculate the `AVG(experience_years)` over a **partitioned** dataset. + +```sql +SELECT DISTINCT project_id, + ROUND(AVG(experience_years) OVER (PARTITION BY project_id), 2) AS average_years +FROM project AS p +JOIN employee AS e +ON p.employee_id = e.employee_id; +``` + +--- + +## 🐍 Pandas Solution (Python) +#### Explanation: +- We read both tables into Pandas **DataFrames**. +- We merge the tables on `employee_id`. +- We group by `project_id` and compute the mean. +- We round the output to 2 decimal places. + +```python +import pandas as pd + +def project_average_experience(project: pd.DataFrame, employee: pd.DataFrame) -> pd.DataFrame: + df = project.merge(employee, on="employee_id") + result = df.groupby("project_id")["experience_years"].mean().round(2).reset_index() + result.columns = ["project_id", "average_years"] + return result +``` + +--- + +## 📁 File Structure +``` +📂 Project-Employees-I +│── 📜 README.md +│── 📜 solution.sql +│── 📜 solution_window.sql +│── 📜 solution_pandas.py +│── 📜 test_cases.sql +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/project-employees-i/) +- 📚 [SQL Joins Explanation](https://www.w3schools.com/sql/sql_join.asp) +- 🐍 [Pandas Documentation](https://pandas.pydata.org/docs/) +``` + +This README provides: +- A **clear problem statement** +- **Input and output tables** +- **Multiple SQL solutions with explanations** +- **A Python Pandas solution** +- **File structure** +- **Useful links** + +Let me know if you need any modifications! 🚀 \ No newline at end of file From a94c39a848bc761cc78f7907279f104f588799eb Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:08:34 +0530 Subject: [PATCH 283/353] Update readme.md --- .../1075. Project Employees I/readme.md | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md b/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md index 4b365c1..4c1d8da 100644 --- a/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md +++ b/LeetCode SQL 50 Solution/1075. Project Employees I/readme.md @@ -1,6 +1,4 @@ -Here's a well-formatted `README.md` file for your GitHub repository with the SQL solutions: -```md # 🏆 Project Employees I - LeetCode 1075 ## 📌 Problem Statement @@ -127,14 +125,7 @@ def project_average_experience(project: pd.DataFrame, employee: pd.DataFrame) -> - 📖 [LeetCode Problem](https://leetcode.com/problems/project-employees-i/) - 📚 [SQL Joins Explanation](https://www.w3schools.com/sql/sql_join.asp) - 🐍 [Pandas Documentation](https://pandas.pydata.org/docs/) -``` -This README provides: -- A **clear problem statement** -- **Input and output tables** -- **Multiple SQL solutions with explanations** -- **A Python Pandas solution** -- **File structure** -- **Useful links** +--- -Let me know if you need any modifications! 🚀 \ No newline at end of file +## Let me know if you need any modifications! 🚀 \ No newline at end of file From 7d7dbe30e6e7843201b2aa097a2b1e6f2d6c7de0 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:10:15 +0530 Subject: [PATCH 284/353] Update readme.md --- .../readme.md | 146 ++++++++++++++++++ 1 file changed, 146 insertions(+) diff --git a/LeetCode SQL 50 Solution/1141. User Activity for the Past 30 Days I/readme.md b/LeetCode SQL 50 Solution/1141. User Activity for the Past 30 Days I/readme.md index e69de29..c794a5f 100644 --- a/LeetCode SQL 50 Solution/1141. User Activity for the Past 30 Days I/readme.md +++ b/LeetCode SQL 50 Solution/1141. User Activity for the Past 30 Days I/readme.md @@ -0,0 +1,146 @@ +Here’s a well-structured `README.md` file for **LeetCode 1141 - User Activity for the Past 30 Days I** with SQL and Pandas solutions: + +```md +# 📊 User Activity for the Past 30 Days I - LeetCode 1141 + +## 📌 Problem Statement +You are given the **Activity** table that records user activities on a social media website. + +### Activity Table +| Column Name | Type | +| ------------- | ---- | +| user_id | int | +| session_id | int | +| activity_date | date | +| activity_type | enum | + +- The `activity_type` column is an ENUM of **('open_session', 'end_session', 'scroll_down', 'send_message')**. +- Each session belongs to exactly **one user**. +- The table **may have duplicate rows**. + +### Task: +Find the **daily active user count** for a period of **30 days ending 2019-07-27 inclusively**. +- A user is considered **active on a given day** if they made at least **one activity**. +- Ignore days with **zero active users**. + +--- + +## 📊 Example 1: +### Input: +**Activity Table** +| user_id | session_id | activity_date | activity_type | +| ------- | ---------- | ------------- | ------------- | +| 1 | 1 | 2019-07-20 | open_session | +| 1 | 1 | 2019-07-20 | scroll_down | +| 1 | 1 | 2019-07-20 | end_session | +| 2 | 4 | 2019-07-20 | open_session | +| 2 | 4 | 2019-07-21 | send_message | +| 2 | 4 | 2019-07-21 | end_session | +| 3 | 2 | 2019-07-21 | open_session | +| 3 | 2 | 2019-07-21 | send_message | +| 3 | 2 | 2019-07-21 | end_session | +| 4 | 3 | 2019-06-25 | open_session | +| 4 | 3 | 2019-06-25 | end_session | + +### Output: +| day | active_users | +| ---------- | ------------ | +| 2019-07-20 | 2 | +| 2019-07-21 | 2 | + +### Explanation: +- **2019-07-20**: Users **1 and 2** were active. +- **2019-07-21**: Users **2 and 3** were active. +- **Days with zero active users are ignored**. + +--- + +## 🖥 SQL Solutions + +### 1️⃣ Standard MySQL Solution +#### Explanation: +- **Filter records** for the last **30 days** (ending on `2019-07-27`). +- Use `COUNT(DISTINCT user_id)` to count **unique active users per day**. +- Ignore **days with zero active users**. + +```sql +SELECT + activity_date AS day, + COUNT(DISTINCT user_id) AS active_users +FROM + Activity +WHERE + DATEDIFF('2019-07-27', activity_date) < 30 + AND DATEDIFF('2019-07-27', activity_date) >= 0 +GROUP BY activity_date; +``` + +--- + +### 2️⃣ Alternative Solution Using `BETWEEN` +#### Explanation: +- This solution filters the date range using `BETWEEN` instead of `DATEDIFF`. + +```sql +SELECT + activity_date AS day, + COUNT(DISTINCT user_id) AS active_users +FROM + Activity +WHERE + activity_date BETWEEN DATE_SUB('2019-07-27', INTERVAL 29 DAY) AND '2019-07-27' +GROUP BY activity_date; +``` + +--- + +## 🐍 Pandas Solution (Python) +#### Explanation: +- Filter activity records for the **last 30 days**. +- **Group by `activity_date`** and count **unique `user_id`s**. +- **Ignore days with zero active users**. + +```python +import pandas as pd + +def daily_active_users(activity: pd.DataFrame) -> pd.DataFrame: + # Filter data within the last 30 days (ending on '2019-07-27') + filtered = activity[(activity["activity_date"] >= "2019-06-28") & (activity["activity_date"] <= "2019-07-27")] + + # Group by day and count unique users + result = filtered.groupby("activity_date")["user_id"].nunique().reset_index() + + # Rename columns + result.columns = ["day", "active_users"] + return result +``` + +--- + +## 📁 File Structure +``` +📂 User-Activity-Past-30-Days +│── 📜 README.md +│── 📜 solution.sql +│── 📜 solution_between.sql +│── 📜 solution_pandas.py +│── 📜 test_cases.sql +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/user-activity-for-the-past-30-days-i/) +- 📚 [SQL Date Functions](https://www.w3schools.com/sql/sql_dates.asp) +- 🐍 [Pandas Documentation](https://pandas.pydata.org/docs/) +``` + +This README includes: +- **Clear problem statement** +- **Input and output tables** +- **Multiple SQL solutions with explanations** +- **Pandas solution in Python** +- **File structure for a clean GitHub repo** +- **Useful links** + +Let me know if you need any changes! 🚀 \ No newline at end of file From 8617bc402b52cf310b9a2933b1a33ac7d80910aa Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:11:11 +0530 Subject: [PATCH 285/353] Update readme.md --- .../readme.md | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/LeetCode SQL 50 Solution/1141. User Activity for the Past 30 Days I/readme.md b/LeetCode SQL 50 Solution/1141. User Activity for the Past 30 Days I/readme.md index c794a5f..fd44f51 100644 --- a/LeetCode SQL 50 Solution/1141. User Activity for the Past 30 Days I/readme.md +++ b/LeetCode SQL 50 Solution/1141. User Activity for the Past 30 Days I/readme.md @@ -1,6 +1,4 @@ -Here’s a well-structured `README.md` file for **LeetCode 1141 - User Activity for the Past 30 Days I** with SQL and Pandas solutions: -```md # 📊 User Activity for the Past 30 Days I - LeetCode 1141 ## 📌 Problem Statement @@ -133,14 +131,5 @@ def daily_active_users(activity: pd.DataFrame) -> pd.DataFrame: - 📖 [LeetCode Problem](https://leetcode.com/problems/user-activity-for-the-past-30-days-i/) - 📚 [SQL Date Functions](https://www.w3schools.com/sql/sql_dates.asp) - 🐍 [Pandas Documentation](https://pandas.pydata.org/docs/) -``` - -This README includes: -- **Clear problem statement** -- **Input and output tables** -- **Multiple SQL solutions with explanations** -- **Pandas solution in Python** -- **File structure for a clean GitHub repo** -- **Useful links** -Let me know if you need any changes! 🚀 \ No newline at end of file +## Let me know if you need any changes! 🚀 \ No newline at end of file From 209a657bed615cd55221f344a1be86fc9ee56e86 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:16:30 +0530 Subject: [PATCH 286/353] Update readme.md --- .../1148. Article Views I/readme.md | 125 ++++++++++++++++++ 1 file changed, 125 insertions(+) diff --git a/LeetCode SQL 50 Solution/1148. Article Views I/readme.md b/LeetCode SQL 50 Solution/1148. Article Views I/readme.md index e69de29..3210efb 100644 --- a/LeetCode SQL 50 Solution/1148. Article Views I/readme.md +++ b/LeetCode SQL 50 Solution/1148. Article Views I/readme.md @@ -0,0 +1,125 @@ +Here's a well-structured `README.md` file for **LeetCode 1148 - Article Views I** with SQL and Pandas solutions: + +```md +# 📰 Article Views I - LeetCode 1148 + +## 📌 Problem Statement +You are given the **Views** table that records article views. + +### Views Table +| Column Name | Type | +| ----------- | ---- | +| article_id | int | +| author_id | int | +| viewer_id | int | +| view_date | date | + +- The table **may contain duplicate rows**. +- Each row indicates that **some viewer viewed an article** written by some author on a specific date. +- If `author_id = viewer_id`, it means **the author viewed their own article**. + +### Task: +Find **all authors** who have viewed **at least one of their own articles**. +- **Return the result sorted by `id` in ascending order**. + +--- + +## 📊 Example 1: +### Input: +**Views Table** +| article_id | author_id | viewer_id | view_date | +| ---------- | --------- | --------- | ---------- | +| 1 | 3 | 5 | 2019-08-01 | +| 1 | 3 | 6 | 2019-08-02 | +| 2 | 7 | 7 | 2019-08-01 | +| 2 | 7 | 6 | 2019-08-02 | +| 4 | 7 | 1 | 2019-07-22 | +| 3 | 4 | 4 | 2019-07-21 | +| 3 | 4 | 4 | 2019-07-21 | + +### Output: +| id | +| --- | +| 4 | +| 7 | + +### Explanation: +- **Author 4** viewed their own article (`viewer_id = author_id`). +- **Author 7** viewed their own article (`viewer_id = author_id`). +- The result is sorted in **ascending order**. + +--- + +## 🖥 SQL Solutions + +### 1️⃣ Standard MySQL Solution +#### Explanation: +- **Filter rows** where `author_id = viewer_id`. +- Use `DISTINCT` to **remove duplicates**. +- **Sort the result** in ascending order. + +```sql +SELECT DISTINCT author_id AS id +FROM Views +WHERE author_id = viewer_id +ORDER BY id ASC; +``` + +--- + +### 2️⃣ Alternative Solution Using `GROUP BY` +#### Explanation: +- **Group by** `author_id` and **filter authors** who have viewed at least one of their own articles. + +```sql +SELECT author_id AS id +FROM Views +WHERE author_id = viewer_id +GROUP BY author_id +ORDER BY id ASC; +``` + +--- + +## 🐍 Pandas Solution (Python) +#### Explanation: +- **Filter rows** where `author_id == viewer_id`. +- **Select distinct author IDs**. +- **Sort the result** in ascending order. + +```python +import pandas as pd + +def authors_who_viewed_own_articles(views: pd.DataFrame) -> pd.DataFrame: + # Filter rows where author_id == viewer_id + filtered = views[views["author_id"] == views["viewer_id"]] + + # Select unique author IDs and sort + result = pd.DataFrame({"id": sorted(filtered["author_id"].unique())}) + + return result +``` + +--- + +## 📁 File Structure +``` +📂 Article-Views-I +│── 📜 README.md +│── 📜 solution.sql +│── 📜 solution_group_by.sql +│── 📜 solution_pandas.py +│── 📜 test_cases.sql +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/article-views-i/) +- 📚 [SQL DISTINCT vs GROUP BY](https://www.w3schools.com/sql/sql_distinct.asp) +- 🐍 [Pandas Unique Function](https://pandas.pydata.org/docs/reference/api/pandas.Series.unique.html) +``` + + + +Let me know if you need any changes! 🚀 \ No newline at end of file From ff52f318bcce1d847e54a88d99671c0798e00b60 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:17:21 +0530 Subject: [PATCH 287/353] Update readme.md --- LeetCode SQL 50 Solution/1148. Article Views I/readme.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/LeetCode SQL 50 Solution/1148. Article Views I/readme.md b/LeetCode SQL 50 Solution/1148. Article Views I/readme.md index 3210efb..9e1f1db 100644 --- a/LeetCode SQL 50 Solution/1148. Article Views I/readme.md +++ b/LeetCode SQL 50 Solution/1148. Article Views I/readme.md @@ -1,6 +1,3 @@ -Here's a well-structured `README.md` file for **LeetCode 1148 - Article Views I** with SQL and Pandas solutions: - -```md # 📰 Article Views I - LeetCode 1148 ## 📌 Problem Statement @@ -118,8 +115,5 @@ def authors_who_viewed_own_articles(views: pd.DataFrame) -> pd.DataFrame: - 📖 [LeetCode Problem](https://leetcode.com/problems/article-views-i/) - 📚 [SQL DISTINCT vs GROUP BY](https://www.w3schools.com/sql/sql_distinct.asp) - 🐍 [Pandas Unique Function](https://pandas.pydata.org/docs/reference/api/pandas.Series.unique.html) -``` - - -Let me know if you need any changes! 🚀 \ No newline at end of file +## Let me know if you need any changes! 🚀 \ No newline at end of file From 16ba1dee01fa4742e6f0290752de088efd0bf018 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:18:23 +0530 Subject: [PATCH 288/353] Update readme.md --- .../1193. Monthly Transactions I/readme.md | 138 ++++++++++++++++++ 1 file changed, 138 insertions(+) diff --git a/LeetCode SQL 50 Solution/1193. Monthly Transactions I/readme.md b/LeetCode SQL 50 Solution/1193. Monthly Transactions I/readme.md index e69de29..f674abf 100644 --- a/LeetCode SQL 50 Solution/1193. Monthly Transactions I/readme.md +++ b/LeetCode SQL 50 Solution/1193. Monthly Transactions I/readme.md @@ -0,0 +1,138 @@ +Here's a well-structured `README.md` file for **LeetCode 1193 - Monthly Transactions I**, formatted for a GitHub repository: + +```md +# 🏦 Monthly Transactions I - LeetCode 1193 + +## 📌 Problem Statement +You are given the **Transactions** table that records financial transactions. + +### Transactions Table +| Column Name | Type | +| ----------- | ------- | +| id | int | +| country | varchar | +| state | enum | +| amount | int | +| trans_date | date | + +- **id** is the **primary key**. +- The **state** column is an `ENUM` type with values **"approved"** and **"declined"**. +- Each row **records a transaction** with an amount and a transaction date. + +### Task: +Find **monthly statistics** for each country: +- Total **number of transactions**. +- Total **amount of transactions**. +- Total **number of approved transactions**. +- Total **amount of approved transactions**. + +The **month format should be `YYYY-MM`**. + +--- + +## 📊 Example 1: +### Input: +**Transactions Table** +| id | country | state | amount | trans_date | +| --- | ------- | -------- | ------ | ---------- | +| 121 | US | approved | 1000 | 2018-12-18 | +| 122 | US | declined | 2000 | 2018-12-19 | +| 123 | US | approved | 2000 | 2019-01-01 | +| 124 | DE | approved | 2000 | 2019-01-07 | + +### Output: +| month | country | trans_count | approved_count | trans_total_amount | approved_total_amount | +| ------- | ------- | ----------- | -------------- | ------------------ | --------------------- | +| 2018-12 | US | 2 | 1 | 3000 | 1000 | +| 2019-01 | US | 1 | 1 | 2000 | 2000 | +| 2019-01 | DE | 1 | 1 | 2000 | 2000 | + +### Explanation: +- **December 2018 (US)**: + - **2 transactions** (1000 + 2000). + - **1 approved transaction** (1000). +- **January 2019 (US)**: + - **1 transaction** (2000). + - **1 approved transaction** (2000). +- **January 2019 (DE)**: + - **1 transaction** (2000). + - **1 approved transaction** (2000). + +--- + +## 🖥 SQL Solution + +### 1️⃣ Standard MySQL Solution +#### Explanation: +- **Extract the month** from `trans_date` using `DATE_FORMAT()`. +- **Count transactions** for each `month` and `country`. +- **Sum transaction amounts**. +- **Filter only approved transactions** separately using `CASE WHEN`. + +```sql +SELECT + DATE_FORMAT(trans_date, '%Y-%m') AS month, + country, + COUNT(id) AS trans_count, + SUM(CASE WHEN state = 'approved' THEN 1 ELSE 0 END) AS approved_count, + SUM(amount) AS trans_total_amount, + SUM(CASE WHEN state = 'approved' THEN amount ELSE 0 END) AS approved_total_amount +FROM Transactions +GROUP BY month, country +ORDER BY month, country; +``` + +--- + +## 🐍 Pandas Solution (Python) +#### Explanation: +- **Extract the month (`YYYY-MM`)** from `trans_date`. +- **Group by month and country**. +- **Compute counts and sums** using `.agg()`. + +```python +import pandas as pd + +def monthly_transactions(transactions: pd.DataFrame) -> pd.DataFrame: + # Extract 'YYYY-MM' from the trans_date + transactions['month'] = transactions['trans_date'].dt.strftime('%Y-%m') + + # Aggregate transaction counts and sums + result = transactions.groupby(['month', 'country']).agg( + trans_count=('id', 'count'), + approved_count=('state', lambda x: (x == 'approved').sum()), + trans_total_amount=('amount', 'sum'), + approved_total_amount=('amount', lambda x: x[transactions['state'] == 'approved'].sum()) + ).reset_index() + + return result.sort_values(['month', 'country']) +``` + +--- + +## 📁 File Structure +``` +📂 Monthly-Transactions +│── 📜 README.md +│── 📜 solution.sql +│── 📜 solution_pandas.py +│── 📜 test_cases.sql +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/monthly-transactions-i/) +- 📚 [SQL `GROUP BY` Clause](https://www.w3schools.com/sql/sql_groupby.asp) +- 🐍 [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/groupby.html) +``` + +This README includes: +- **Problem statement** +- **Example input and output** +- **SQL solution with explanations** +- **Pandas solution in Python** +- **File structure for GitHub** +- **Useful links** + +Let me know if you need any modifications! 🚀 \ No newline at end of file From 4d18303d9378543dcab50f88a8f01e107d950026 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:19:00 +0530 Subject: [PATCH 289/353] Update readme.md --- .../1193. Monthly Transactions I/readme.md | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/LeetCode SQL 50 Solution/1193. Monthly Transactions I/readme.md b/LeetCode SQL 50 Solution/1193. Monthly Transactions I/readme.md index f674abf..c4de0bd 100644 --- a/LeetCode SQL 50 Solution/1193. Monthly Transactions I/readme.md +++ b/LeetCode SQL 50 Solution/1193. Monthly Transactions I/readme.md @@ -1,6 +1,3 @@ -Here's a well-structured `README.md` file for **LeetCode 1193 - Monthly Transactions I**, formatted for a GitHub repository: - -```md # 🏦 Monthly Transactions I - LeetCode 1193 ## 📌 Problem Statement @@ -125,14 +122,5 @@ def monthly_transactions(transactions: pd.DataFrame) -> pd.DataFrame: - 📖 [LeetCode Problem](https://leetcode.com/problems/monthly-transactions-i/) - 📚 [SQL `GROUP BY` Clause](https://www.w3schools.com/sql/sql_groupby.asp) - 🐍 [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/groupby.html) -``` - -This README includes: -- **Problem statement** -- **Example input and output** -- **SQL solution with explanations** -- **Pandas solution in Python** -- **File structure for GitHub** -- **Useful links** -Let me know if you need any modifications! 🚀 \ No newline at end of file +## Let me know if you need any modifications! 🚀 \ No newline at end of file From 29c7efaf091d3537d23b6b45f9351e825844e203 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:19:57 +0530 Subject: [PATCH 290/353] Update readme.md --- .../readme.md | 161 ++++++++++++++++++ 1 file changed, 161 insertions(+) diff --git a/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus/readme.md b/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus/readme.md index e69de29..860bcc0 100644 --- a/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus/readme.md +++ b/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus/readme.md @@ -0,0 +1,161 @@ +Here's a well-structured `README.md` file for **LeetCode 1204 - Last Person to Fit in the Bus**, formatted for a GitHub repository: + +```md +# 🚌 Last Person to Fit in the Bus - LeetCode 1204 + +## 📌 Problem Statement +You are given the **Queue** table, which contains information about people waiting for a bus. + +### Queue Table +| Column Name | Type | +| ----------- | ------- | +| person_id | int | +| person_name | varchar | +| weight | int | +| turn | int | + +- **person_id** contains unique values. +- The **turn** column determines the order in which people will board (`turn = 1` means the first person to board). +- The **bus has a weight limit of 1000 kg**. +- Only **one person can board at a time**. + +### Task: +Find **the last person** who can board the bus **without exceeding the 1000 kg weight limit**. + +--- + +## 📊 Example 1: +### Input: +**Queue Table** +| person_id | person_name | weight | turn | +| --------- | ----------- | ------ | ---- | +| 5 | Alice | 250 | 1 | +| 4 | Bob | 175 | 5 | +| 3 | Alex | 350 | 2 | +| 6 | John Cena | 400 | 3 | +| 1 | Winston | 500 | 6 | +| 2 | Marie | 200 | 4 | + +### Output: +| person_name | +| ----------- | +| John Cena | + +### Explanation: +Ordering by `turn`: +| Turn | ID | Name | Weight | Total Weight | +| ---- | --- | --------- | ------ | ------------ | +| 1 | 5 | Alice | 250 | 250 | +| 2 | 3 | Alex | 350 | 600 | +| 3 | 6 | John Cena | 400 | 1000 | ✅ (last person to board) | +| 4 | 2 | Marie | 200 | 1200 | ❌ (exceeds limit) | +| 5 | 4 | Bob | 175 | ❌ | +| 6 | 1 | Winston | 500 | ❌ | + +--- + +## 🖥 SQL Solution + +### 1️⃣ Standard MySQL Solution +#### Explanation: +- **Use a self-join** to accumulate the total weight up to each person's turn. +- **Filter out** people whose cumulative weight exceeds **1000**. +- **Find the last person** who can board. + +```sql +SELECT a.person_name +FROM + Queue AS a, + Queue AS b +WHERE a.turn >= b.turn +GROUP BY a.person_id +HAVING SUM(b.weight) <= 1000 +ORDER BY a.turn DESC +LIMIT 1; +``` + +--- + +### 📝 Step-by-Step Breakdown: + +1️⃣ **Self-Join on the Table** +```sql +FROM Queue AS a, Queue AS b +WHERE a.turn >= b.turn +``` +- This pairs each row `a` with all rows `b` where `b.turn` is less than or equal to `a.turn`. +- Allows us to calculate the **cumulative sum of weights** for each person. + +2️⃣ **Group by Each Person** +```sql +GROUP BY a.person_id +``` +- Groups all rows by `person_id` so we can perform calculations per person. + +3️⃣ **Compute the Cumulative Weight** +```sql +HAVING SUM(b.weight) <= 1000 +``` +- Filters out people whose cumulative boarding weight exceeds **1000 kg**. + +4️⃣ **Find the Last Person Who Can Board** +```sql +ORDER BY a.turn DESC +LIMIT 1; +``` +- **Sorts by turn in descending order** so that we find the **last person** who can board. +- **Limits to 1 row** to return only the last eligible person. + +--- + +## 🐍 Pandas Solution (Python) +#### Explanation: +- **Sort by `turn`** to simulate the boarding order. +- **Compute the cumulative sum** of weights. +- **Find the last person** whose weight sum **does not exceed 1000**. + +```python +import pandas as pd + +def last_person_to_fit(queue: pd.DataFrame) -> pd.DataFrame: + # Sort by turn + queue = queue.sort_values(by="turn") + + # Compute cumulative weight sum + queue["cumulative_weight"] = queue["weight"].cumsum() + + # Filter those who fit on the bus + queue = queue[queue["cumulative_weight"] <= 1000] + + # Return the last person to fit + return queue.tail(1)[["person_name"]] +``` + +--- + +## 📁 File Structure +``` +📂 Last-Person-Fit +│── 📜 README.md +│── 📜 solution.sql +│── 📜 solution_pandas.py +│── 📜 test_cases.sql +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/last-person-to-fit-in-the-bus/) +- 📚 [SQL `GROUP BY` Clause](https://www.w3schools.com/sql/sql_groupby.asp) +- 🐍 [Pandas cumsum() Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.cumsum.html) +``` + +This README includes: +- **Problem statement** +- **Example input and output** +- **SQL solution with explanations** +- **Pandas solution in Python** +- **File structure for GitHub** +- **Useful links** + +Let me know if you need any modifications! 🚀 \ No newline at end of file From c3b0106a5e9df4b39e0d66658cbaba62fdc98b62 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:20:16 +0530 Subject: [PATCH 291/353] Update readme.md --- .../1204. Last Person to Fit in the Bus/readme.md | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus/readme.md b/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus/readme.md index 860bcc0..a5a1373 100644 --- a/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus/readme.md +++ b/LeetCode SQL 50 Solution/1204. Last Person to Fit in the Bus/readme.md @@ -1,6 +1,3 @@ -Here's a well-structured `README.md` file for **LeetCode 1204 - Last Person to Fit in the Bus**, formatted for a GitHub repository: - -```md # 🚌 Last Person to Fit in the Bus - LeetCode 1204 ## 📌 Problem Statement @@ -148,14 +145,5 @@ def last_person_to_fit(queue: pd.DataFrame) -> pd.DataFrame: - 📖 [LeetCode Problem](https://leetcode.com/problems/last-person-to-fit-in-the-bus/) - 📚 [SQL `GROUP BY` Clause](https://www.w3schools.com/sql/sql_groupby.asp) - 🐍 [Pandas cumsum() Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.cumsum.html) -``` - -This README includes: -- **Problem statement** -- **Example input and output** -- **SQL solution with explanations** -- **Pandas solution in Python** -- **File structure for GitHub** -- **Useful links** -Let me know if you need any modifications! 🚀 \ No newline at end of file +## Let me know if you need any modifications! 🚀 \ No newline at end of file From b77c62f18a3f5fbb01235111635467b5f0a3db2d Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:22:02 +0530 Subject: [PATCH 292/353] Update readme.md --- .../readme.md | 192 ++++++++++++++++++ 1 file changed, 192 insertions(+) diff --git a/LeetCode SQL 50 Solution/1211. Queries Quality and Percentage/readme.md b/LeetCode SQL 50 Solution/1211. Queries Quality and Percentage/readme.md index e69de29..abcfff7 100644 --- a/LeetCode SQL 50 Solution/1211. Queries Quality and Percentage/readme.md +++ b/LeetCode SQL 50 Solution/1211. Queries Quality and Percentage/readme.md @@ -0,0 +1,192 @@ +Here's a structured `README.md` file for **LeetCode 1211 - Queries Quality and Percentage**, formatted for a GitHub repository: + +```md +# 📊 Queries Quality and Percentage - LeetCode 1211 + +## 📌 Problem Statement +You are given the **Queries** table, which contains information collected from various queries on a database. + +### Queries Table +| Column Name | Type | +| ----------- | ------- | +| query_name | varchar | +| result | varchar | +| position | int | +| rating | int | + +- The **position** column has values from **1 to 500**. +- The **rating** column has values from **1 to 5**. +- **Queries with rating < 3 are considered "poor queries".** + +### Definitions: +1️⃣ **Query Quality:** + The **average** of the **ratio** between query rating and its position: + \[ + \text{quality} = \frac{\sum (\text{rating} / \text{position})}{\text{total queries for that name}} + \] + +2️⃣ **Poor Query Percentage:** + The percentage of all queries where **rating < 3**: + \[ + \text{poor\_query\_percentage} = \left(\frac{\text{count of poor queries}}{\text{total queries}}\right) \times 100 + \] + +--- + +## 📊 Example 1: +### Input: +**Queries Table** +| query_name | result | position | rating | +| ---------- | ---------------- | -------- | ------ | +| Dog | Golden Retriever | 1 | 5 | +| Dog | German Shepherd | 2 | 5 | +| Dog | Mule | 200 | 1 | +| Cat | Shirazi | 5 | 2 | +| Cat | Siamese | 3 | 3 | +| Cat | Sphynx | 7 | 4 | + +### Output: +| query_name | quality | poor_query_percentage | +| ---------- | ------- | --------------------- | +| Dog | 2.50 | 33.33 | +| Cat | 0.66 | 33.33 | + +### Explanation: +#### **Dog** +- **Quality Calculation:** + \[ + \left( \frac{5}{1} + \frac{5}{2} + \frac{1}{200} \right) \div 3 = 2.50 + \] +- **Poor Query Percentage:** + - Poor Queries: **1** (Mule, rating = 1) + - Total Queries: **3** + \[ + (1 / 3) \times 100 = 33.33\% + \] + +#### **Cat** +- **Quality Calculation:** + \[ + \left( \frac{2}{5} + \frac{3}{3} + \frac{4}{7} \right) \div 3 = 0.66 + \] +- **Poor Query Percentage:** + - Poor Queries: **1** (Shirazi, rating = 2) + - Total Queries: **3** + \[ + (1 / 3) \times 100 = 33.33\% + \] + +--- + +## 🖥 SQL Solution + +### 1️⃣ Standard MySQL Query +#### Explanation: +- **Calculate quality** using `AVG(rating / position)`. +- **Count poor queries** using `SUM(CASE WHEN rating < 3 THEN 1 ELSE 0 END)`. +- **Calculate percentage** using `(COUNT of poor queries / total queries) * 100`. + +```sql +SELECT query_name, + ROUND(AVG(rating * 1.0 / position), 2) AS quality, + ROUND(SUM(CASE WHEN rating < 3 THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) AS poor_query_percentage +FROM Queries +GROUP BY query_name; +``` + +--- + +### 📝 Step-by-Step Breakdown: + +1️⃣ **Grouping Queries by `query_name`** +```sql +GROUP BY query_name; +``` +- Ensures calculations are **per query type**. + +2️⃣ **Calculating Query Quality** +```sql +ROUND(AVG(rating * 1.0 / position), 2) AS quality +``` +- **`rating / position`** calculates the ratio. +- **`AVG(...)`** finds the average across all entries for the query. +- **Multiplying by `1.0` ensures floating-point division.** +- **`ROUND(..., 2)` rounds to 2 decimal places**. + +3️⃣ **Calculating Poor Query Percentage** +```sql +ROUND(SUM(CASE WHEN rating < 3 THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) AS poor_query_percentage +``` +- **Counts queries with `rating < 3` using `SUM(CASE WHEN ... THEN 1 ELSE 0 END)`**. +- **Divides by total queries (`COUNT(*)`) and multiplies by `100`**. +- **Rounds to 2 decimal places**. + +--- + +### 2️⃣ Alternative MySQL Query (Using `IF` Instead of `CASE`) + +```sql +SELECT query_name, + ROUND(AVG(rating * 1.0 / position), 2) AS quality, + ROUND(SUM(IF(rating < 3, 1, 0)) * 100.0 / COUNT(*), 2) AS poor_query_percentage +FROM Queries +GROUP BY query_name; +``` +- **`IF(rating < 3, 1, 0)`** is equivalent to `CASE WHEN rating < 3 THEN 1 ELSE 0 END`. + +--- + +## 🐍 Pandas Solution (Python) +#### Explanation: +- **Group by `query_name`**. +- **Calculate query quality** as `rating / position`, then average. +- **Filter poor queries (`rating < 3`) and compute percentage**. + +```python +import pandas as pd + +def queries_quality(queries: pd.DataFrame) -> pd.DataFrame: + # Group by query_name + grouped = queries.groupby("query_name") + + # Compute Quality + quality = grouped.apply(lambda x: round((x["rating"] / x["position"]).mean(), 2)) + + # Compute Poor Query Percentage + poor_query_percentage = grouped.apply(lambda x: round((x["rating"] < 3).mean() * 100, 2)) + + # Return result + result = pd.DataFrame({"query_name": quality.index, + "quality": quality.values, + "poor_query_percentage": poor_query_percentage.values}) + return result +``` + +--- + +## 📁 File Structure +``` +📂 Queries-Quality +│── 📜 README.md +│── 📜 solution.sql +│── 📜 solution_pandas.py +│── 📜 test_cases.sql +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/queries-quality-and-percentage/) +- 📚 [SQL `GROUP BY` Documentation](https://www.w3schools.com/sql/sql_groupby.asp) +- 🐍 [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/groupby.html) +``` + +### Features of this `README.md`: +✅ **Clear problem statement with table structure** +✅ **Examples with detailed calculations** +✅ **SQL and Pandas solutions with explanations** +✅ **Alternative SQL query for flexibility** +✅ **File structure for GitHub organization** +✅ **Useful reference links** + +Let me know if you'd like any modifications! 🚀 \ No newline at end of file From 2b7acdb5856acfddc90c02bef7bddab8aecf6f75 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:22:26 +0530 Subject: [PATCH 293/353] Update readme.md --- .../1211. Queries Quality and Percentage/readme.md | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/LeetCode SQL 50 Solution/1211. Queries Quality and Percentage/readme.md b/LeetCode SQL 50 Solution/1211. Queries Quality and Percentage/readme.md index abcfff7..0f00160 100644 --- a/LeetCode SQL 50 Solution/1211. Queries Quality and Percentage/readme.md +++ b/LeetCode SQL 50 Solution/1211. Queries Quality and Percentage/readme.md @@ -1,6 +1,3 @@ -Here's a structured `README.md` file for **LeetCode 1211 - Queries Quality and Percentage**, formatted for a GitHub repository: - -```md # 📊 Queries Quality and Percentage - LeetCode 1211 ## 📌 Problem Statement @@ -179,14 +176,5 @@ def queries_quality(queries: pd.DataFrame) -> pd.DataFrame: - 📖 [LeetCode Problem](https://leetcode.com/problems/queries-quality-and-percentage/) - 📚 [SQL `GROUP BY` Documentation](https://www.w3schools.com/sql/sql_groupby.asp) - 🐍 [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/groupby.html) -``` - -### Features of this `README.md`: -✅ **Clear problem statement with table structure** -✅ **Examples with detailed calculations** -✅ **SQL and Pandas solutions with explanations** -✅ **Alternative SQL query for flexibility** -✅ **File structure for GitHub organization** -✅ **Useful reference links** -Let me know if you'd like any modifications! 🚀 \ No newline at end of file +## Let me know if you'd like any modifications! 🚀 \ No newline at end of file From 64c794d23eb3f7613cfa397e6cc3dcf583599ae7 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:24:50 +0530 Subject: [PATCH 294/353] Update readme.md --- .../1251. Average Selling Price/readme.md | 229 ++++++++++++++++++ 1 file changed, 229 insertions(+) diff --git a/LeetCode SQL 50 Solution/1251. Average Selling Price/readme.md b/LeetCode SQL 50 Solution/1251. Average Selling Price/readme.md index e69de29..5542cc5 100644 --- a/LeetCode SQL 50 Solution/1251. Average Selling Price/readme.md +++ b/LeetCode SQL 50 Solution/1251. Average Selling Price/readme.md @@ -0,0 +1,229 @@ +Here's a well-structured `README.md` file for **LeetCode 1251 - Average Selling Price**, formatted for a GitHub repository: + +```md +# 🛒 Average Selling Price - LeetCode 1251 + +## 📌 Problem Statement +You are given two tables, **Prices** and **UnitsSold**, which contain information about product pricing and sales. + +### 📊 Prices Table +| Column Name | Type | +| ----------- | ---- | +| product_id | int | +| start_date | date | +| end_date | date | +| price | int | + +- `(product_id, start_date, end_date)` is the **primary key**. +- Each row defines the price for `product_id` **within a specific date range**. +- **No two price periods overlap** for the same product. + +### 📊 UnitsSold Table +| Column Name | Type | +| ------------- | ---- | +| product_id | int | +| purchase_date | date | +| units | int | + +- Each row records the number of units sold for `product_id` on `purchase_date`. +- **Table may contain duplicate rows**. + +### 🔢 Goal: +Find the **average selling price** for each `product_id`, rounded to **2 decimal places**. +If a product has **no sales**, its average price should be **0**. + +--- + +## 📊 Example 1: +### Input: +### **Prices Table** +| product_id | start_date | end_date | price | +| ---------- | ---------- | ---------- | ----- | +| 1 | 2019-02-17 | 2019-02-28 | 5 | +| 1 | 2019-03-01 | 2019-03-22 | 20 | +| 2 | 2019-02-01 | 2019-02-20 | 15 | +| 2 | 2019-02-21 | 2019-03-31 | 30 | + +### **UnitsSold Table** +| product_id | purchase_date | units | +| ---------- | ------------- | ----- | +| 1 | 2019-02-25 | 100 | +| 1 | 2019-03-01 | 15 | +| 2 | 2019-02-10 | 200 | +| 2 | 2019-03-22 | 30 | + +### Output: +| product_id | average_price | +| ---------- | ------------- | +| 1 | 6.96 | +| 2 | 16.96 | + +--- + +## 🔍 Explanation: +### **Formula** +\[ +\text{Average Selling Price} = \frac{\sum (\text{price} \times \text{units sold})}{\sum (\text{units sold})} +\] + +### **Product 1 Calculation** +- **Feb 25, 2019:** 100 units sold at **$5** +- **Mar 01, 2019:** 15 units sold at **$20** +- **Total Price Contribution:** + \[ + (100 \times 5) + (15 \times 20) = 500 + 300 = 800 + \] +- **Total Units Sold:** + \[ + 100 + 15 = 115 + \] +- **Average Price:** + \[ + 800 / 115 = 6.96 + \] + +### **Product 2 Calculation** +- **Feb 10, 2019:** 200 units sold at **$15** +- **Mar 22, 2019:** 30 units sold at **$30** +- **Total Price Contribution:** + \[ + (200 \times 15) + (30 \times 30) = 3000 + 900 = 3900 + \] +- **Total Units Sold:** + \[ + 200 + 30 = 230 + \] +- **Average Price:** + \[ + 3900 / 230 = 16.96 + \] + +--- + +## 🖥 SQL Solution + +### 1️⃣ Standard MySQL Query +#### **Explanation:** +- **Join `Prices` and `UnitsSold`** on `product_id`, ensuring `purchase_date` falls **within the valid price period** (`start_date` ≤ `purchase_date` ≤ `end_date`). +- **Multiply `price * units`** for total revenue. +- **Sum total units** for each product. +- **Use `ROUND(..., 2)`** to get 2 decimal places. +- **Use `IFNULL(..., 0)`** to handle cases where no units were sold. + +```sql +SELECT p.product_id, + IFNULL(ROUND(SUM(p.price * u.units) / SUM(u.units), 2), 0) AS average_price +FROM Prices p +LEFT JOIN UnitsSold u +ON p.product_id = u.product_id +AND u.purchase_date BETWEEN p.start_date AND p.end_date +GROUP BY p.product_id; +``` + +--- + +### 📝 Step-by-Step Breakdown: + +1️⃣ **Join Tables Based on Matching Date Ranges** +```sql +LEFT JOIN UnitsSold u +ON p.product_id = u.product_id +AND u.purchase_date BETWEEN p.start_date AND p.end_date +``` +- Ensures we only match **valid** sales based on pricing periods. + +2️⃣ **Calculate Revenue Per Product** +```sql +SUM(p.price * u.units) +``` +- Computes total revenue for each product. + +3️⃣ **Compute Total Sold Units Per Product** +```sql +SUM(u.units) +``` +- Sums up all sold units. + +4️⃣ **Calculate Average Price and Handle Edge Cases** +```sql +ROUND(SUM(p.price * u.units) / SUM(u.units), 2) +``` +- Ensures precision with 2 decimal places. + +5️⃣ **Handle Products with No Sales** +```sql +IFNULL(..., 0) +``` +- If `SUM(u.units)` is `NULL`, return `0`. + +--- + +### 2️⃣ Alternative MySQL Query (Using `COALESCE`) +```sql +SELECT p.product_id, + ROUND(SUM(COALESCE(p.price, 0) * COALESCE(u.units, 0)) / SUM(COALESCE(u.units, 0)), 2) AS average_price +FROM Prices p +LEFT JOIN UnitsSold u +ON p.product_id = u.product_id +AND u.purchase_date BETWEEN p.start_date AND p.end_date +GROUP BY p.product_id; +``` +- Uses **`COALESCE(value, 0)`** instead of `IFNULL()` for robustness. + +--- + +## 🐍 Pandas Solution (Python) +#### **Explanation:** +- **Merge DataFrames on `product_id`** where `purchase_date` falls in the price range. +- **Compute total price & units**. +- **Handle cases where no units were sold**. + +```python +import pandas as pd + +def average_selling_price(prices: pd.DataFrame, units_sold: pd.DataFrame) -> pd.DataFrame: + # Merge on product_id where purchase_date is within the valid price period + merged = prices.merge(units_sold, on="product_id") + merged = merged[(merged["purchase_date"] >= merged["start_date"]) & + (merged["purchase_date"] <= merged["end_date"])] + + # Calculate total revenue and total units per product + merged["total_price"] = merged["price"] * merged["units"] + result = merged.groupby("product_id").agg( + average_price=("total_price", lambda x: round(x.sum() / merged.loc[x.index, "units"].sum(), 2)) + ).reset_index() + + # Handle products with no sales + result["average_price"] = result["average_price"].fillna(0) + + return result +``` + +--- + +## 📁 File Structure +``` +📂 Average-Selling-Price +│── 📜 README.md +│── 📜 solution.sql +│── 📜 solution_pandas.py +│── 📜 test_cases.sql +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/average-selling-price/) +- 📚 [SQL `LEFT JOIN` Documentation](https://www.w3schools.com/sql/sql_join_left.asp) +- 🐍 [Pandas Merge Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.merge.html) +``` + +### Features of this `README.md`: +✅ **Clear problem statement with table structure** +✅ **Examples with detailed calculations** +✅ **SQL and Pandas solutions with explanations** +✅ **Alternative SQL query for flexibility** +✅ **File structure for GitHub organization** +✅ **Useful reference links** + +Would you like any refinements? 🚀 \ No newline at end of file From a37cf6b41a058c359429bf2f6568e37e93072164 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:25:54 +0530 Subject: [PATCH 295/353] Update readme.md --- .../1251. Average Selling Price/readme.md | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/LeetCode SQL 50 Solution/1251. Average Selling Price/readme.md b/LeetCode SQL 50 Solution/1251. Average Selling Price/readme.md index 5542cc5..d099985 100644 --- a/LeetCode SQL 50 Solution/1251. Average Selling Price/readme.md +++ b/LeetCode SQL 50 Solution/1251. Average Selling Price/readme.md @@ -1,6 +1,4 @@ -Here's a well-structured `README.md` file for **LeetCode 1251 - Average Selling Price**, formatted for a GitHub repository: -```md # 🛒 Average Selling Price - LeetCode 1251 ## 📌 Problem Statement @@ -216,14 +214,3 @@ def average_selling_price(prices: pd.DataFrame, units_sold: pd.DataFrame) -> pd. - 📖 [LeetCode Problem](https://leetcode.com/problems/average-selling-price/) - 📚 [SQL `LEFT JOIN` Documentation](https://www.w3schools.com/sql/sql_join_left.asp) - 🐍 [Pandas Merge Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.merge.html) -``` - -### Features of this `README.md`: -✅ **Clear problem statement with table structure** -✅ **Examples with detailed calculations** -✅ **SQL and Pandas solutions with explanations** -✅ **Alternative SQL query for flexibility** -✅ **File structure for GitHub organization** -✅ **Useful reference links** - -Would you like any refinements? 🚀 \ No newline at end of file From d98712141aa3c98018d4e4d0a66ead9d96e09f8a Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:27:33 +0530 Subject: [PATCH 296/353] Update readme.md --- .../1045. Customers Who Bought All Products/readme.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/LeetCode SQL 50 Solution/1045. Customers Who Bought All Products/readme.md b/LeetCode SQL 50 Solution/1045. Customers Who Bought All Products/readme.md index 2d3bb82..cedd5e5 100644 --- a/LeetCode SQL 50 Solution/1045. Customers Who Bought All Products/readme.md +++ b/LeetCode SQL 50 Solution/1045. Customers Who Bought All Products/readme.md @@ -1,6 +1,3 @@ -Here’s the updated README.md, including **Pandas and Window SQL solutions** along with the original **MySQL solution**. - ---- # **1045. Customers Who Bought All Products** @@ -178,4 +175,4 @@ LeetCode1045/ ---ture & Useful Links** -🚀 **Now it's a complete guide!** 🚀 \ No newline at end of file +🚀 **Now it's a complete guide!** 🚀 From b03b944c2b3b4eca807bda1fe1804f309d2a1491 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:30:42 +0530 Subject: [PATCH 297/353] Update readme.md --- .../1280. Students and Examinations/readme.md | 192 ++++++++++++++++++ 1 file changed, 192 insertions(+) diff --git a/LeetCode SQL 50 Solution/1280. Students and Examinations/readme.md b/LeetCode SQL 50 Solution/1280. Students and Examinations/readme.md index e69de29..f1279a1 100644 --- a/LeetCode SQL 50 Solution/1280. Students and Examinations/readme.md +++ b/LeetCode SQL 50 Solution/1280. Students and Examinations/readme.md @@ -0,0 +1,192 @@ +Here is the well-structured `README.md` file for **LeetCode 1204 - Find the Number of Times Each Student Attended Each Exam**, formatted for a GitHub repository: + +```md +# 🎓 Find the Number of Times Each Student Attended Each Exam - LeetCode 1204 + +## 📌 Problem Statement +You are given three tables: **Students**, **Subjects**, and **Examinations**, which contain information about students, subjects, and exam attendance. + +### 📊 Students Table +| Column Name | Type | +| ------------ | ------- | +| student_id | int | +| student_name | varchar | +- `student_id` is the **primary key**. +- Each row represents a **unique student**. + +### 📊 Subjects Table +| Column Name | Type | +| ------------ | ------- | +| subject_name | varchar | +- `subject_name` is the **primary key**. +- Each row represents a **unique subject**. + +### 📊 Examinations Table +| Column Name | Type | +| ------------ | ------- | +| student_id | int | +| subject_name | varchar | +- **No primary key** (may contain duplicates). +- Each row indicates that a student attended an exam for a specific subject. + +### 🔢 Goal: +Find the **number of times each student attended each exam**. +If a student did **not attend an exam**, return `0`. +Return the results **ordered by** `student_id` and `subject_name`. + +--- + +## 📊 Example 1: +### Input: + +### **Students Table** +| student_id | student_name | +| ---------- | ------------ | +| 1 | Alice | +| 2 | Bob | +| 13 | John | +| 6 | Alex | + +### **Subjects Table** +| subject_name | +| ------------ | +| Math | +| Physics | +| Programming | + +### **Examinations Table** +| student_id | subject_name | +| ---------- | ------------ | +| 1 | Math | +| 1 | Physics | +| 1 | Programming | +| 2 | Programming | +| 1 | Physics | +| 1 | Math | +| 13 | Math | +| 13 | Programming | +| 13 | Physics | +| 2 | Math | +| 1 | Math | + +### Output: +| student_id | student_name | subject_name | attended_exams | +| ---------- | ------------ | ------------ | -------------- | +| 1 | Alice | Math | 3 | +| 1 | Alice | Physics | 2 | +| 1 | Alice | Programming | 1 | +| 2 | Bob | Math | 1 | +| 2 | Bob | Physics | 0 | +| 2 | Bob | Programming | 1 | +| 6 | Alex | Math | 0 | +| 6 | Alex | Physics | 0 | +| 6 | Alex | Programming | 0 | +| 13 | John | Math | 1 | +| 13 | John | Physics | 1 | +| 13 | John | Programming | 1 | + +--- + +## 🖥 SQL Solution + +### 1️⃣ Standard MySQL Query +#### **Explanation:** +- **Use `CROSS JOIN`** to generate **all possible student-subject combinations**. +- **Use `LEFT JOIN`** to attach attendance records from `Examinations`. +- **Use `COUNT(e.subject_name)`** to count how many times a student attended an exam. +- **Sort results by** `student_id` and `subject_name`. + +```sql +SELECT s.student_id, s.student_name, sb.subject_name, + COUNT(e.subject_name) AS attended_exams +FROM Students s +CROSS JOIN Subjects sb +LEFT JOIN Examinations e +ON s.student_id = e.student_id AND sb.subject_name = e.subject_name +GROUP BY s.student_id, sb.subject_name +ORDER BY s.student_id, sb.subject_name; +``` + +--- + +### 2️⃣ Alternative SQL Query (Using `COALESCE`) +```sql +SELECT s.student_id, s.student_name, sb.subject_name, + COALESCE(COUNT(e.subject_name), 0) AS attended_exams +FROM Students s +CROSS JOIN Subjects sb +LEFT JOIN Examinations e +ON s.student_id = e.student_id AND sb.subject_name = e.subject_name +GROUP BY s.student_id, sb.subject_name +ORDER BY s.student_id, sb.subject_name; +``` +- **Uses `COALESCE(COUNT(...), 0)`** to explicitly handle `NULL` values. + +--- + +### 3️⃣ Alternative SQL Query (Using `WITH ROLLUP`) +```sql +SELECT s.student_id, s.student_name, sb.subject_name, + COUNT(e.subject_name) AS attended_exams +FROM Students s +CROSS JOIN Subjects sb +LEFT JOIN Examinations e +ON s.student_id = e.student_id AND sb.subject_name = e.subject_name +GROUP BY s.student_id, sb.subject_name WITH ROLLUP +HAVING GROUPING(subject_name) = 0 +ORDER BY s.student_id, sb.subject_name; +``` +- **Uses `WITH ROLLUP`** to generate **aggregated results**. + +--- + +## 🐍 Pandas Solution (Python) +#### **Explanation:** +- **Generate all possible (student, subject) pairs** using `pd.merge()`. +- **Group by student_id and subject_name**, then count occurrences. +- **Fill missing values with `0`**. + +```python +import pandas as pd + +def student_exam_attendance(students: pd.DataFrame, subjects: pd.DataFrame, exams: pd.DataFrame) -> pd.DataFrame: + # Create all possible student-subject combinations + all_combinations = students.merge(subjects, how="cross") + + # Merge with exam data + merged = all_combinations.merge(exams, on=["student_id", "subject_name"], how="left") + + # Count the number of times each student attended each exam + result = merged.groupby(["student_id", "student_name", "subject_name"]).size().reset_index(name="attended_exams") + + return result.sort_values(["student_id", "subject_name"]) +``` + +--- + +## 📁 File Structure +``` +📂 Student-Exam-Attendance +│── 📜 README.md +│── 📜 solution.sql +│── 📜 solution_pandas.py +│── 📜 test_cases.sql +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/find-the-number-of-times-each-student-attended-each-exam/) +- 📚 [SQL `CROSS JOIN` Documentation](https://www.w3schools.com/sql/sql_join_cross.asp) +- 🐍 [Pandas Merge Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.merge.html) +``` + +### Features of this `README.md`: +✅ **Clear problem statement with table structure** +✅ **Examples with detailed calculations** +✅ **SQL and Pandas solutions with explanations** +✅ **Alternative SQL query for flexibility** +✅ **File structure for GitHub organization** +✅ **Useful reference links** + +Would you like any refinements? 🚀 \ No newline at end of file From 97822743ba703905e0fc8c8ca711fa875c69e999 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:30:58 +0530 Subject: [PATCH 298/353] Update readme.md --- .../1280. Students and Examinations/readme.md | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/LeetCode SQL 50 Solution/1280. Students and Examinations/readme.md b/LeetCode SQL 50 Solution/1280. Students and Examinations/readme.md index f1279a1..56e7bf0 100644 --- a/LeetCode SQL 50 Solution/1280. Students and Examinations/readme.md +++ b/LeetCode SQL 50 Solution/1280. Students and Examinations/readme.md @@ -1,6 +1,3 @@ -Here is the well-structured `README.md` file for **LeetCode 1204 - Find the Number of Times Each Student Attended Each Exam**, formatted for a GitHub repository: - -```md # 🎓 Find the Number of Times Each Student Attended Each Exam - LeetCode 1204 ## 📌 Problem Statement @@ -179,14 +176,3 @@ def student_exam_attendance(students: pd.DataFrame, subjects: pd.DataFrame, exam - 📖 [LeetCode Problem](https://leetcode.com/problems/find-the-number-of-times-each-student-attended-each-exam/) - 📚 [SQL `CROSS JOIN` Documentation](https://www.w3schools.com/sql/sql_join_cross.asp) - 🐍 [Pandas Merge Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.merge.html) -``` - -### Features of this `README.md`: -✅ **Clear problem statement with table structure** -✅ **Examples with detailed calculations** -✅ **SQL and Pandas solutions with explanations** -✅ **Alternative SQL query for flexibility** -✅ **File structure for GitHub organization** -✅ **Useful reference links** - -Would you like any refinements? 🚀 \ No newline at end of file From f8a519a8520dcef895f9fcd0f7f702228cfdfe49 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:31:26 +0530 Subject: [PATCH 299/353] Update readme.md --- .../1321. Restaurant Growth/readme.md | 185 ++++++++++++++++++ 1 file changed, 185 insertions(+) diff --git a/LeetCode SQL 50 Solution/1321. Restaurant Growth/readme.md b/LeetCode SQL 50 Solution/1321. Restaurant Growth/readme.md index e69de29..96e7d5f 100644 --- a/LeetCode SQL 50 Solution/1321. Restaurant Growth/readme.md +++ b/LeetCode SQL 50 Solution/1321. Restaurant Growth/readme.md @@ -0,0 +1,185 @@ +Here's a well-structured `README.md` for **LeetCode 321 - Restaurant Growth**, formatted for a GitHub repository: + +```md +# 🍽️ Restaurant Growth - LeetCode 321 + +## 📌 Problem Statement +You are given a table **Customer**, which records daily customer transactions in a restaurant. +The restaurant owner wants to analyze a **7-day moving average** of customer spending. + +### 📊 Customer Table +| Column Name | Type | +| ----------- | ------- | +| customer_id | int | +| name | varchar | +| visited_on | date | +| amount | int | +- **(customer_id, visited_on) is the primary key**. +- `visited_on` represents the date a customer visited the restaurant. +- `amount` represents the total amount paid by a customer on that day. + +--- + +## 🔢 Goal: +Compute the **7-day moving average** of customer spending. +- The window consists of **current day + 6 days before**. +- `average_amount` should be **rounded to 2 decimal places**. +- The result should be **ordered by `visited_on` in ascending order**. + +--- + +## 📊 Example 1: +### **Input:** +#### **Customer Table** +| customer_id | name | visited_on | amount | +| ----------- | ------- | ---------- | ------ | +| 1 | Jhon | 2019-01-01 | 100 | +| 2 | Daniel | 2019-01-02 | 110 | +| 3 | Jade | 2019-01-03 | 120 | +| 4 | Khaled | 2019-01-04 | 130 | +| 5 | Winston | 2019-01-05 | 110 | +| 6 | Elvis | 2019-01-06 | 140 | +| 7 | Anna | 2019-01-07 | 150 | +| 8 | Maria | 2019-01-08 | 80 | +| 9 | Jaze | 2019-01-09 | 110 | +| 1 | Jhon | 2019-01-10 | 130 | +| 3 | Jade | 2019-01-10 | 150 | + +### **Output:** +| visited_on | amount | average_amount | +| ---------- | ------ | -------------- | +| 2019-01-07 | 860 | 122.86 | +| 2019-01-08 | 840 | 120 | +| 2019-01-09 | 840 | 120 | +| 2019-01-10 | 1000 | 142.86 | + +### **Explanation:** +1. **First moving average (2019-01-01 to 2019-01-07)** + \[ + (100 + 110 + 120 + 130 + 110 + 140 + 150) / 7 = 122.86 + \] +2. **Second moving average (2019-01-02 to 2019-01-08)** + \[ + (110 + 120 + 130 + 110 + 140 + 150 + 80) / 7 = 120 + \] +3. **Third moving average (2019-01-03 to 2019-01-09)** + \[ + (120 + 130 + 110 + 140 + 150 + 80 + 110) / 7 = 120 + \] +4. **Fourth moving average (2019-01-04 to 2019-01-10)** + \[ + (130 + 110 + 140 + 150 + 80 + 110 + 130 + 150) / 7 = 142.86 + \] + +--- + +## 🖥 SQL Solutions + +### 1️⃣ **Using `WINDOW FUNCTION` (`SUM() OVER` + `RANK() OVER`)** +#### **Explanation:** +- First, **group transactions per day** using `SUM(amount)`. +- Then, use `SUM() OVER (ROWS 6 PRECEDING)` to calculate **moving sum** over 7 days. +- Use `RANK()` to track row numbers and filter rows with `rk > 6`. +- Finally, compute `ROUND(amount / 7, 2)`. + +```sql +WITH t AS ( + SELECT + visited_on, + SUM(amount) OVER ( + ORDER BY visited_on + ROWS 6 PRECEDING + ) AS amount, + RANK() OVER ( + ORDER BY visited_on + ROWS 6 PRECEDING + ) AS rk + FROM ( + SELECT visited_on, SUM(amount) AS amount + FROM Customer + GROUP BY visited_on + ) AS tt +) +SELECT visited_on, amount, ROUND(amount / 7, 2) AS average_amount +FROM t +WHERE rk > 6; +``` + +--- + +### 2️⃣ **Using `JOIN` + `DATEDIFF()`** +#### **Explanation:** +- Use a **self-join** to find transactions **within a 7-day range**. +- Sum the `amount` for each window and calculate the moving average. +- Use `DATEDIFF(a.visited_on, b.visited_on) BETWEEN 0 AND 6` to filter records. +- Ensure only complete 7-day windows are included. + +```sql +SELECT + a.visited_on, + SUM(b.amount) AS amount, + ROUND(SUM(b.amount) / 7, 2) AS average_amount +FROM + (SELECT DISTINCT visited_on FROM customer) AS a + JOIN customer AS b + ON DATEDIFF(a.visited_on, b.visited_on) BETWEEN 0 AND 6 +WHERE + a.visited_on >= (SELECT MIN(visited_on) FROM customer) + 6 +GROUP BY a.visited_on +ORDER BY a.visited_on; +``` + +--- + +## 🐍 Pandas Solution (Python) +#### **Explanation:** +- **Group by `visited_on`** and sum `amount` per day. +- **Use `.rolling(7).sum()`** to compute the moving sum over 7 days. +- **Drop NaN values** to exclude incomplete windows. +- **Round the average to 2 decimal places**. + +```python +import pandas as pd + +def restaurant_growth(customers: pd.DataFrame) -> pd.DataFrame: + # Aggregate daily amounts + daily_amount = customers.groupby("visited_on")["amount"].sum().reset_index() + + # Compute rolling 7-day sum and moving average + daily_amount["amount"] = daily_amount["amount"].rolling(7).sum() + daily_amount["average_amount"] = (daily_amount["amount"] / 7).round(2) + + # Drop incomplete windows + daily_amount = daily_amount.dropna().reset_index(drop=True) + + return daily_amount +``` + +--- + +## 📁 File Structure +``` +📂 Restaurant-Growth +│── 📜 README.md +│── 📜 solution.sql +│── 📜 solution_pandas.py +│── 📜 test_cases.sql +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/restaurant-growth/) +- 📚 [SQL `WINDOW FUNCTIONS` Documentation](https://www.w3schools.com/sql/sql_window.asp) +- 🐍 [Pandas Rolling Window](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.rolling.html) +``` + +### Features of this `README.md`: +✅ **Clear problem statement with table structure** +✅ **Examples with detailed calculations** +✅ **SQL and Pandas solutions with explanations** +✅ **Alternative SQL query for flexibility** +✅ **File structure for GitHub organization** +✅ **Useful reference links** + +Would you like any refinements? 🚀 \ No newline at end of file From 29c2563985e5af473dbd0d43c32c1629c5568872 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:31:38 +0530 Subject: [PATCH 300/353] Update readme.md --- .../1321. Restaurant Growth/readme.md | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/LeetCode SQL 50 Solution/1321. Restaurant Growth/readme.md b/LeetCode SQL 50 Solution/1321. Restaurant Growth/readme.md index 96e7d5f..2c666c1 100644 --- a/LeetCode SQL 50 Solution/1321. Restaurant Growth/readme.md +++ b/LeetCode SQL 50 Solution/1321. Restaurant Growth/readme.md @@ -1,6 +1,3 @@ -Here's a well-structured `README.md` for **LeetCode 321 - Restaurant Growth**, formatted for a GitHub repository: - -```md # 🍽️ Restaurant Growth - LeetCode 321 ## 📌 Problem Statement @@ -172,14 +169,3 @@ def restaurant_growth(customers: pd.DataFrame) -> pd.DataFrame: - 📖 [LeetCode Problem](https://leetcode.com/problems/restaurant-growth/) - 📚 [SQL `WINDOW FUNCTIONS` Documentation](https://www.w3schools.com/sql/sql_window.asp) - 🐍 [Pandas Rolling Window](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.rolling.html) -``` - -### Features of this `README.md`: -✅ **Clear problem statement with table structure** -✅ **Examples with detailed calculations** -✅ **SQL and Pandas solutions with explanations** -✅ **Alternative SQL query for flexibility** -✅ **File structure for GitHub organization** -✅ **Useful reference links** - -Would you like any refinements? 🚀 \ No newline at end of file From 2037dbd56147771711b891506a705f4a56b40148 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:32:42 +0530 Subject: [PATCH 301/353] Update readme.md --- .../readme.md | 170 ++++++++++++++++++ 1 file changed, 170 insertions(+) diff --git a/LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period/readme.md b/LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period/readme.md index e69de29..eb329ee 100644 --- a/LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period/readme.md +++ b/LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period/readme.md @@ -0,0 +1,170 @@ +Here’s a well-structured `README.md` for **LeetCode 1327 - List the Products Ordered in a Period**, formatted for a GitHub repository: + +```md +# 🛒 List the Products Ordered in a Period - LeetCode 1327 + +## 📌 Problem Statement +You are given two tables: **Products** and **Orders**. +Your task is to **list the product names** that had at least **100 units ordered in February 2020** along with the total amount ordered. + +--- + +## 📊 Table Structure + +### **Products Table** +| Column Name | Type | +| ---------------- | ------- | +| product_id | int | +| product_name | varchar | +| product_category | varchar | + +- `product_id` is the **primary key** (unique identifier). +- This table contains details about products. + +--- + +### **Orders Table** +| Column Name | Type | +| ----------- | ---- | +| product_id | int | +| order_date | date | +| unit | int | + +- `product_id` is a **foreign key** referencing the `Products` table. +- `order_date` represents when the order was placed. +- `unit` represents the **number of products ordered** on that date. +- The table **may contain duplicate rows**. + +--- + +## 🔢 Goal: +Find all products that had **at least 100 units ordered** during **February 2020** and display: +- `product_name` +- Total `unit` ordered in that period + +--- + +## 📊 Example 1: +### **Input:** +#### **Products Table** +| product_id | product_name | product_category | +| ---------- | --------------------- | ---------------- | +| 1 | Leetcode Solutions | Book | +| 2 | Jewels of Stringology | Book | +| 3 | HP | Laptop | +| 4 | Lenovo | Laptop | +| 5 | Leetcode Kit | T-shirt | + +#### **Orders Table** +| product_id | order_date | unit | +| ---------- | ---------- | ---- | +| 1 | 2020-02-05 | 60 | +| 1 | 2020-02-10 | 70 | +| 2 | 2020-01-18 | 30 | +| 2 | 2020-02-11 | 80 | +| 3 | 2020-02-17 | 2 | +| 3 | 2020-02-24 | 3 | +| 4 | 2020-03-01 | 20 | +| 4 | 2020-03-04 | 30 | +| 4 | 2020-03-04 | 60 | +| 5 | 2020-02-25 | 50 | +| 5 | 2020-02-27 | 50 | +| 5 | 2020-03-01 | 50 | + +### **Output:** +| product_name | unit | +| ------------------ | ---- | +| Leetcode Solutions | 130 | +| Leetcode Kit | 100 | + +### **Explanation:** +- **Leetcode Solutions** (ID=1) was ordered in February: + \[ + 60 + 70 = 130 \quad (\text{✓ included}) + \] +- **Jewels of Stringology** (ID=2) was ordered **only 80** times in February. (**✗ not included**) +- **HP Laptop** (ID=3) was ordered **5 times** in February. (**✗ not included**) +- **Lenovo Laptop** (ID=4) was **not ordered** in February. (**✗ not included**) +- **Leetcode Kit** (ID=5) was ordered **100 times** in February. (**✓ included**) + +--- + +## 🖥 SQL Solution + +### ✅ **Using `JOIN` + `GROUP BY` + `HAVING`** +#### **Explanation:** +1. **Join** the `Products` and `Orders` tables on `product_id`. +2. **Filter orders** placed in **February 2020** (`BETWEEN '2020-02-01' AND '2020-02-29'`). +3. **Sum up the `unit` ordered** for each product. +4. **Use `HAVING` to filter products with at least 100 units.** +5. Return results in **any order**. + +```sql +SELECT P.PRODUCT_NAME, SUM(O.UNIT) AS UNIT +FROM PRODUCTS P +INNER JOIN ORDERS O +ON P.PRODUCT_ID = O.PRODUCT_ID +WHERE O.ORDER_DATE BETWEEN '2020-02-01' AND '2020-02-29' +GROUP BY P.PRODUCT_NAME +HAVING SUM(O.UNIT) >= 100; +``` + +--- + +## 🐍 Pandas Solution (Python) +#### **Explanation:** +1. **Merge** `products` and `orders` on `product_id`. +2. **Filter only February 2020 orders**. +3. **Group by `product_name`** and **sum `unit`**. +4. **Filter products with at least 100 units**. +5. **Return the final DataFrame**. + +```python +import pandas as pd + +def products_ordered(products: pd.DataFrame, orders: pd.DataFrame) -> pd.DataFrame: + # Merge both tables on product_id + merged_df = pd.merge(orders, products, on="product_id", how="inner") + + # Convert order_date to datetime format and filter February 2020 + merged_df["order_date"] = pd.to_datetime(merged_df["order_date"]) + feb_orders = merged_df[ + (merged_df["order_date"] >= "2020-02-01") & (merged_df["order_date"] <= "2020-02-29") + ] + + # Group by product_name and sum the units + result = feb_orders.groupby("product_name")["unit"].sum().reset_index() + + # Filter products with at least 100 units + result = result[result["unit"] >= 100] + + return result +``` + +--- + +## 📁 File Structure +``` +📂 List-Products-Ordered +│── 📜 README.md +│── 📜 solution.sql +│── 📜 solution_pandas.py +│── 📜 test_cases.sql +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/list-the-products-ordered-in-a-period/) +- 📚 [SQL `HAVING` Clause](https://www.w3schools.com/sql/sql_having.asp) +- 🐍 [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) +``` + +### Features of this `README.md`: +✅ **Detailed problem statement with tables** +✅ **Example with step-by-step calculations** +✅ **SQL and Pandas solutions with explanations** +✅ **File structure for easy organization** +✅ **Helpful references for further reading** + +Would you like any modifications? 🚀 \ No newline at end of file From c64843c9072914747f5301fb44f0b7f3598e3085 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:32:55 +0530 Subject: [PATCH 302/353] Update readme.md --- .../readme.md | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period/readme.md b/LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period/readme.md index eb329ee..7ab2066 100644 --- a/LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period/readme.md +++ b/LeetCode SQL 50 Solution/1327. List the Products Ordered in a Period/readme.md @@ -1,6 +1,3 @@ -Here’s a well-structured `README.md` for **LeetCode 1327 - List the Products Ordered in a Period**, formatted for a GitHub repository: - -```md # 🛒 List the Products Ordered in a Period - LeetCode 1327 ## 📌 Problem Statement @@ -158,13 +155,3 @@ def products_ordered(products: pd.DataFrame, orders: pd.DataFrame) -> pd.DataFra - 📖 [LeetCode Problem](https://leetcode.com/problems/list-the-products-ordered-in-a-period/) - 📚 [SQL `HAVING` Clause](https://www.w3schools.com/sql/sql_having.asp) - 🐍 [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) -``` - -### Features of this `README.md`: -✅ **Detailed problem statement with tables** -✅ **Example with step-by-step calculations** -✅ **SQL and Pandas solutions with explanations** -✅ **File structure for easy organization** -✅ **Helpful references for further reading** - -Would you like any modifications? 🚀 \ No newline at end of file From b6ddb0facada7ba242a3bf23e13da21501bb2ec0 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:33:23 +0530 Subject: [PATCH 303/353] Update readme.md --- .../1341. Movie Rating/readme.md | 208 ++++++++++++++++++ 1 file changed, 208 insertions(+) diff --git a/LeetCode SQL 50 Solution/1341. Movie Rating/readme.md b/LeetCode SQL 50 Solution/1341. Movie Rating/readme.md index e69de29..40a5226 100644 --- a/LeetCode SQL 50 Solution/1341. Movie Rating/readme.md +++ b/LeetCode SQL 50 Solution/1341. Movie Rating/readme.md @@ -0,0 +1,208 @@ +Here's a well-structured `README.md` for **LeetCode 1341 - Movie Rating**, formatted for a GitHub repository: + +```md +# 🎬 Movie Rating - LeetCode 1341 + +## 📌 Problem Statement +You are given three tables: **Movies**, **Users**, and **MovieRating**. + +Your task is to: +1. Find the **user who has rated the greatest number of movies**. + - In case of a tie, return the **lexicographically smaller** name. +2. Find the **movie with the highest average rating** in **February 2020**. + - In case of a tie, return the **lexicographically smaller** movie title. + +--- + +## 📊 Table Structure + +### **Movies Table** +| Column Name | Type | +| ----------- | ------- | +| movie_id | int | +| title | varchar | + +- `movie_id` is the **primary key** (unique identifier). +- `title` is the **name of the movie**. + +--- + +### **Users Table** +| Column Name | Type | +| ----------- | ------- | +| user_id | int | +| name | varchar | + +- `user_id` is the **primary key** (unique identifier). +- `name` is **unique** for each user. + +--- + +### **MovieRating Table** +| Column Name | Type | +| ----------- | ---- | +| movie_id | int | +| user_id | int | +| rating | int | +| created_at | date | + +- `(movie_id, user_id)` is the **primary key** (ensuring unique user-movie ratings). +- `created_at` represents the **review date**. + +--- + +## 🔢 Goal: +- Return a **single-column result** containing: + 1. **User name** with the most ratings. + 2. **Movie title** with the highest **average rating** in **February 2020**. + +--- + +## 📊 Example 1: +### **Input:** +#### **Movies Table** +| movie_id | title | +| -------- | -------- | +| 1 | Avengers | +| 2 | Frozen 2 | +| 3 | Joker | + +#### **Users Table** +| user_id | name | +| ------- | ------ | +| 1 | Daniel | +| 2 | Monica | +| 3 | Maria | +| 4 | James | + +#### **MovieRating Table** +| movie_id | user_id | rating | created_at | +| -------- | ------- | ------ | ---------- | +| 1 | 1 | 3 | 2020-01-12 | +| 1 | 2 | 4 | 2020-02-11 | +| 1 | 3 | 2 | 2020-02-12 | +| 1 | 4 | 1 | 2020-01-01 | +| 2 | 1 | 5 | 2020-02-17 | +| 2 | 2 | 2 | 2020-02-01 | +| 2 | 3 | 2 | 2020-03-01 | +| 3 | 1 | 3 | 2020-02-22 | +| 3 | 2 | 4 | 2020-02-25 | + +### **Output:** +| results | +| -------- | +| Daniel | +| Frozen 2 | + +### **Explanation:** +- **Most Active User:** + - `Daniel` and `Monica` both rated **3 movies**. + - Since `Daniel` is **lexicographically smaller**, he is chosen. + +- **Highest Average Movie Rating in February 2020:** + - **Frozen 2**: `(5 + 2) / 2 = 3.5` + - **Joker**: `(3 + 4) / 2 = 3.5` + - Since **Frozen 2** is **lexicographically smaller**, it is chosen. + +--- + +## 🖥 SQL Solution + +### ✅ **Using `JOIN` + `GROUP BY` + `HAVING`** +#### **Explanation:** +1. **Find the most active user:** + - Count the number of ratings per user. + - Use `ORDER BY COUNT(*) DESC, name` to get the **user with the most ratings**, breaking ties lexicographically. + - Limit the result to **1 user**. + +2. **Find the highest-rated movie in February 2020:** + - Filter rows where `created_at` is **in February 2020**. + - **Calculate the average rating per movie**. + - Use `ORDER BY AVG(rating) DESC, title` to get the **highest-rated movie**, breaking ties lexicographically. + - Limit the result to **1 movie**. + +```sql +( + SELECT name AS results + FROM + Users + JOIN MovieRating USING (user_id) + GROUP BY user_id + ORDER BY COUNT(1) DESC, name + LIMIT 1 +) +UNION ALL +( + SELECT title + FROM + MovieRating + JOIN Movies USING (movie_id) + WHERE DATE_FORMAT(created_at, '%Y-%m') = '2020-02' + GROUP BY movie_id + ORDER BY AVG(rating) DESC, title + LIMIT 1 +); +``` + +--- + +## 🐍 Pandas Solution (Python) +#### **Explanation:** +1. **Find the user with the most ratings:** + - Group by `user_id`, count the ratings. + - Merge with `Users` table to get `name`. + - Sort by **count descending**, then **lexicographically**. + +2. **Find the highest-rated movie in February 2020:** + - Filter only `created_at` **in February 2020**. + - Group by `movie_id` and calculate **average rating**. + - Merge with `Movies` to get `title`. + - Sort by **rating descending**, then **lexicographically**. + +```python +import pandas as pd + +def movie_rating(users: pd.DataFrame, movies: pd.DataFrame, movie_rating: pd.DataFrame) -> pd.DataFrame: + # Most active user + user_counts = movie_rating.groupby("user_id")["rating"].count().reset_index() + most_active_user = user_counts.merge(users, on="user_id") + most_active_user = most_active_user.sort_values(by=["rating", "name"], ascending=[False, True]).iloc[0]["name"] + + # Highest-rated movie in February 2020 + movie_rating["created_at"] = pd.to_datetime(movie_rating["created_at"]) + feb_ratings = movie_rating[movie_rating["created_at"].dt.strftime('%Y-%m') == "2020-02"] + + avg_ratings = feb_ratings.groupby("movie_id")["rating"].mean().reset_index() + highest_rated_movie = avg_ratings.merge(movies, on="movie_id") + highest_rated_movie = highest_rated_movie.sort_values(by=["rating", "title"], ascending=[False, True]).iloc[0]["title"] + + return pd.DataFrame({"results": [most_active_user, highest_rated_movie]}) +``` + +--- + +## 📁 File Structure +``` +📂 Movie-Rating +│── 📜 README.md +│── 📜 solution.sql +│── 📜 solution_pandas.py +│── 📜 test_cases.sql +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/movie-rating/) +- 📚 [SQL `GROUP BY` Clause](https://www.w3schools.com/sql/sql_groupby.asp) +- 🐍 [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) +``` + +### Features of this `README.md`: +✅ **Clear problem description with tables** +✅ **Example with step-by-step explanation** +✅ **SQL and Pandas solutions with detailed breakdowns** +✅ **File structure for easy organization** +✅ **Helpful references for further learning** + +Would you like any changes or additions? 🚀 \ No newline at end of file From 7895ac377ba8c7a452c01ac653ad431b0e0168ee Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:33:46 +0530 Subject: [PATCH 304/353] Update readme.md --- .../1341. Movie Rating/readme.md | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/LeetCode SQL 50 Solution/1341. Movie Rating/readme.md b/LeetCode SQL 50 Solution/1341. Movie Rating/readme.md index 40a5226..bcfc6ac 100644 --- a/LeetCode SQL 50 Solution/1341. Movie Rating/readme.md +++ b/LeetCode SQL 50 Solution/1341. Movie Rating/readme.md @@ -1,6 +1,3 @@ -Here's a well-structured `README.md` for **LeetCode 1341 - Movie Rating**, formatted for a GitHub repository: - -```md # 🎬 Movie Rating - LeetCode 1341 ## 📌 Problem Statement @@ -196,13 +193,5 @@ def movie_rating(users: pd.DataFrame, movies: pd.DataFrame, movie_rating: pd.Dat - 📖 [LeetCode Problem](https://leetcode.com/problems/movie-rating/) - 📚 [SQL `GROUP BY` Clause](https://www.w3schools.com/sql/sql_groupby.asp) - 🐍 [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) -``` - -### Features of this `README.md`: -✅ **Clear problem description with tables** -✅ **Example with step-by-step explanation** -✅ **SQL and Pandas solutions with detailed breakdowns** -✅ **File structure for easy organization** -✅ **Helpful references for further learning** -Would you like any changes or additions? 🚀 \ No newline at end of file +## Would you like any changes or additions? 🚀 \ No newline at end of file From 3b9bdc3f3a9007b91fcd1c29c276fa94e20bf1f3 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:34:40 +0530 Subject: [PATCH 305/353] Update readme.md --- .../readme.md | 154 ++++++++++++++++++ 1 file changed, 154 insertions(+) diff --git a/LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier/readme.md b/LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier/readme.md index e69de29..90efa05 100644 --- a/LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier/readme.md +++ b/LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier/readme.md @@ -0,0 +1,154 @@ +Here’s a well-structured `README.md` for **LeetCode 1378 - Replace Employee ID With The Unique Identifier**, formatted for a GitHub repository: + +```md +# 🏢 Replace Employee ID With The Unique Identifier - LeetCode 1378 + +## 📌 Problem Statement +You are given two tables: **Employees** and **EmployeeUNI**. + +Your task is to return a table with: +- Each employee's **unique ID** if it exists. +- If an employee **does not** have a unique ID, return `NULL`. + +The result can be returned in **any order**. + +--- + +## 📊 Table Structure + +### **Employees Table** +| Column Name | Type | +| ----------- | ------- | +| id | int | +| name | varchar | + +- `id` is the **primary key** (unique for each employee). +- `name` is the **employee's name**. + +--- + +### **EmployeeUNI Table** +| Column Name | Type | +| ----------- | ---- | +| id | int | +| unique_id | int | + +- `(id, unique_id)` is the **primary key** (ensuring unique mapping of employee IDs to unique IDs). +- Each employee **may or may not** have a corresponding **unique ID**. + +--- + +## 📊 Example 1: +### **Input:** +#### **Employees Table** +| id | name | +| --- | -------- | +| 1 | Alice | +| 7 | Bob | +| 11 | Meir | +| 90 | Winston | +| 3 | Jonathan | + +#### **EmployeeUNI Table** +| id | unique_id | +| --- | --------- | +| 3 | 1 | +| 11 | 2 | +| 90 | 3 | + +### **Output:** +| unique_id | name | +| --------- | -------- | +| null | Alice | +| null | Bob | +| 2 | Meir | +| 3 | Winston | +| 1 | Jonathan | + +### **Explanation:** +- `Alice` and `Bob` **do not have** a unique ID, so we return `NULL`. +- The **unique ID** of `Meir` is **2**. +- The **unique ID** of `Winston` is **3**. +- The **unique ID** of `Jonathan` is **1**. + +--- + +## 🖥 SQL Solution + +### ✅ **Using `LEFT JOIN`** +#### **Explanation:** +- Use a **LEFT JOIN** to **include all employees**. +- If an employee **does not have** a matching `unique_id`, return `NULL`. + +```sql +SELECT eu.unique_id, e.name +FROM Employees e +LEFT JOIN EmployeeUNI eu +ON e.id = eu.id; +``` + +### ✅ **Using `USING(id)`** +#### **Explanation:** +- `USING(id)` is a cleaner alternative when both tables share a column. + +```sql +SELECT unique_id, name +FROM Employees +LEFT JOIN EmployeeUNI +USING (id); +``` + +### ✅ **Sorting by `id` (Optional)** +#### **Explanation:** +- If you want to return the result **sorted by `id`**, add `ORDER BY e.id`: + +```sql +SELECT eu.unique_id, e.name +FROM Employees e +LEFT JOIN EmployeeUNI eu +ON e.id = eu.id +ORDER BY e.id; +``` + +--- + +## 🐍 Pandas Solution (Python) +#### **Explanation:** +- Merge `Employees` with `EmployeeUNI` **using `left` join** on `id`. +- Fill missing values (`NaN`) with `None`. + +```python +import pandas as pd + +def replace_employee_id(employees: pd.DataFrame, employee_uni: pd.DataFrame) -> pd.DataFrame: + merged_df = employees.merge(employee_uni, on="id", how="left") + return merged_df[["unique_id", "name"]] +``` + +--- + +## 📁 File Structure +``` +📂 Replace-Employee-ID +│── 📜 README.md +│── 📜 solution.sql +│── 📜 solution_pandas.py +│── 📜 test_cases.sql +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/replace-employee-id-with-the-unique-identifier/) +- 📚 [SQL `LEFT JOIN`](https://www.w3schools.com/sql/sql_join_left.asp) +- 🐍 [Pandas Merge Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.merge.html) +``` + +### Features of this `README.md`: +✅ **Clear problem description with tables** +✅ **Example with step-by-step explanation** +✅ **SQL and Pandas solutions with detailed breakdowns** +✅ **File structure for easy organization** +✅ **Helpful references for further learning** + +Would you like any modifications? 🚀 \ No newline at end of file From 3c444d4979a77eb885701abe91cbc9d811c97b66 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:34:53 +0530 Subject: [PATCH 306/353] Update readme.md --- .../readme.md | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier/readme.md b/LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier/readme.md index 90efa05..6c034f4 100644 --- a/LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier/readme.md +++ b/LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier/readme.md @@ -1,6 +1,4 @@ -Here’s a well-structured `README.md` for **LeetCode 1378 - Replace Employee ID With The Unique Identifier**, formatted for a GitHub repository: -```md # 🏢 Replace Employee ID With The Unique Identifier - LeetCode 1378 ## 📌 Problem Statement @@ -142,13 +140,5 @@ def replace_employee_id(employees: pd.DataFrame, employee_uni: pd.DataFrame) -> - 📖 [LeetCode Problem](https://leetcode.com/problems/replace-employee-id-with-the-unique-identifier/) - 📚 [SQL `LEFT JOIN`](https://www.w3schools.com/sql/sql_join_left.asp) - 🐍 [Pandas Merge Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.merge.html) -``` - -### Features of this `README.md`: -✅ **Clear problem description with tables** -✅ **Example with step-by-step explanation** -✅ **SQL and Pandas solutions with detailed breakdowns** -✅ **File structure for easy organization** -✅ **Helpful references for further learning** -Would you like any modifications? 🚀 \ No newline at end of file +## Would you like any modifications? 🚀 \ No newline at end of file From 79eaf898020b64fc12fd9ca06282ae82269265fe Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:34:59 +0530 Subject: [PATCH 307/353] Update readme.md --- .../readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier/readme.md b/LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier/readme.md index 6c034f4..a92e9b1 100644 --- a/LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier/readme.md +++ b/LeetCode SQL 50 Solution/1378. Replace Employee ID With The Unique Identifier/readme.md @@ -1,4 +1,3 @@ - # 🏢 Replace Employee ID With The Unique Identifier - LeetCode 1378 ## 📌 Problem Statement From d05784b96be88a5cbe71a03334b5be5c2d93ca89 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:35:15 +0530 Subject: [PATCH 308/353] Update readme.md --- .../readme.md | 125 ++++++++++++++++++ 1 file changed, 125 insertions(+) diff --git a/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date/readme.md b/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date/readme.md index e69de29..e968b83 100644 --- a/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date/readme.md +++ b/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date/readme.md @@ -0,0 +1,125 @@ +Here’s a well-structured `README.md` for **LeetCode 1484 - Group Sold Products By The Date**, formatted for a GitHub repository: + +```md +# 🛍️ Group Sold Products By The Date - LeetCode 1484 + +## 📌 Problem Statement +You are given a table **Activities** that contains records of products sold on different dates. + +Your task is to return: +- The **number of distinct products** sold on each date. +- A **comma-separated string** of the product names, sorted **lexicographically**. + +The result should be **ordered by `sell_date`**. + +--- + +## 📊 Table Structure + +### **Activities Table** +| Column Name | Type | +| ----------- | ------- | +| sell_date | date | +| product | varchar | + +- This table **does not** have a **primary key**. +- It may **contain duplicate entries**. + +--- + +## 📊 Example 1: +### **Input:** +#### **Activities Table** +| sell_date | product | +| ---------- | ---------- | +| 2020-05-30 | Headphone | +| 2020-06-01 | Pencil | +| 2020-06-02 | Mask | +| 2020-05-30 | Basketball | +| 2020-06-01 | Bible | +| 2020-06-02 | Mask | +| 2020-05-30 | T-Shirt | + +### **Output:** +| sell_date | num_sold | products | +| ---------- | -------- | ---------------------------- | +| 2020-05-30 | 3 | Basketball,Headphone,T-Shirt | +| 2020-06-01 | 2 | Bible,Pencil | +| 2020-06-02 | 1 | Mask | + +### **Explanation:** +- `2020-05-30`: Sold items → _(Headphone, Basketball, T-Shirt)_ + - Sorted → **"Basketball, Headphone, T-Shirt"** +- `2020-06-01`: Sold items → _(Pencil, Bible)_ + - Sorted → **"Bible, Pencil"** +- `2020-06-02`: Sold item → _(Mask)_ + - **"Mask"** (only one item) + +--- + +## 🖥 SQL Solution + +### ✅ **Using `GROUP_CONCAT` with `DISTINCT`** +#### **Explanation:** +- Use `COUNT(DISTINCT product)` to get the **number of distinct products**. +- Use `GROUP_CONCAT(DISTINCT product ORDER BY product ASC)` to **join product names in alphabetical order**. +- Group by `sell_date`, then order the result by `sell_date`. + +```sql +SELECT + sell_date, + COUNT(DISTINCT product) AS num_sold, + GROUP_CONCAT(DISTINCT product ORDER BY product ASC SEPARATOR ',') AS products +FROM Activities +GROUP BY sell_date +ORDER BY sell_date ASC; +``` + +--- + +## 🐍 Pandas Solution (Python) +#### **Explanation:** +- **Group by `sell_date`**. +- Use `.nunique()` to count distinct products. +- Use `', '.join(sorted(set(products)))` to sort and concatenate product names. + +```python +import pandas as pd + +def group_sold_products(activities: pd.DataFrame) -> pd.DataFrame: + grouped_df = ( + activities.groupby("sell_date")["product"] + .agg(lambda x: ", ".join(sorted(set(x)))) + .reset_index() + ) + grouped_df["num_sold"] = grouped_df["product"].apply(lambda x: len(x.split(","))) + return grouped_df.rename(columns={"product": "products"}) +``` + +--- + +## 📁 File Structure +``` +📂 Group-Sold-Products +│── 📜 README.md +│── 📜 solution.sql +│── 📜 solution_pandas.py +│── 📜 test_cases.sql +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/group-sold-products-by-the-date/) +- 📚 [SQL `GROUP BY`](https://www.w3schools.com/sql/sql_groupby.asp) +- 🐍 [Pandas `groupby()` Documentation](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.groupby.html) +``` + +### Features of this `README.md`: +✅ **Clear problem statement with tables** +✅ **Example with step-by-step explanation** +✅ **SQL and Pandas solutions with detailed breakdowns** +✅ **File structure for easy organization** +✅ **Helpful references for further learning** + +Would you like any modifications? 🚀 \ No newline at end of file From 249bbb90f455ba4c14d93f28e76b8458448cd9d0 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:35:35 +0530 Subject: [PATCH 309/353] Update readme.md --- .../1484. Group Sold Products By The Date/readme.md | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date/readme.md b/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date/readme.md index e968b83..318b5fd 100644 --- a/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date/readme.md +++ b/LeetCode SQL 50 Solution/1484. Group Sold Products By The Date/readme.md @@ -1,6 +1,3 @@ -Here’s a well-structured `README.md` for **LeetCode 1484 - Group Sold Products By The Date**, formatted for a GitHub repository: - -```md # 🛍️ Group Sold Products By The Date - LeetCode 1484 ## 📌 Problem Statement @@ -113,13 +110,3 @@ def group_sold_products(activities: pd.DataFrame) -> pd.DataFrame: - 📖 [LeetCode Problem](https://leetcode.com/problems/group-sold-products-by-the-date/) - 📚 [SQL `GROUP BY`](https://www.w3schools.com/sql/sql_groupby.asp) - 🐍 [Pandas `groupby()` Documentation](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.groupby.html) -``` - -### Features of this `README.md`: -✅ **Clear problem statement with tables** -✅ **Example with step-by-step explanation** -✅ **SQL and Pandas solutions with detailed breakdowns** -✅ **File structure for easy organization** -✅ **Helpful references for further learning** - -Would you like any modifications? 🚀 \ No newline at end of file From 9a6ceb10d09b35b66d537a47b7f774730213d365 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:37:28 +0530 Subject: [PATCH 310/353] Update readme.md --- .../readme.md | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) diff --git a/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails/readme.md b/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails/readme.md index e69de29..5c101eb 100644 --- a/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails/readme.md +++ b/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails/readme.md @@ -0,0 +1,108 @@ +Here’s a well-structured `README.md` for **LeetCode 1517 - Find Users With Valid E-Mails**, formatted for a GitHub repository: + +```md +# 📩 Find Users With Valid E-Mails - LeetCode 1517 + +## 📌 Problem Statement +You are given a table **Users** that contains user registration details, including their emails. Some of these emails may be **invalid**. + +A valid email: +- Has a **prefix name** and a **domain**. +- The prefix: + - **Must start with a letter** (uppercase or lowercase). + - Can contain **letters**, **digits**, **underscore (`_`)**, **period (`.`)**, and/or **dash (`-`)**. +- The domain must be **"@leetcode.com"**. + +Your task is to **find users with valid emails**. + +--- + +## 📊 Table Structure + +### **Users Table** +| Column Name | Type | +| ----------- | ------- | +| user_id | int | +| name | varchar | +| mail | varchar | + +- `user_id` is the **primary key**. + +--- + +## 📊 Example 1: + +### **Input:** +#### **Users Table** +| user_id | name | mail | +| ------- | --------- | ----------------------- | +| 1 | Winston | winston@leetcode.com | +| 2 | Jonathan | jonathanisgreat | +| 3 | Annabelle | bella-@leetcode.com | +| 4 | Sally | sally.come@leetcode.com | +| 5 | Marwan | quarz#2020@leetcode.com | +| 6 | David | david69@gmail.com | +| 7 | Shapiro | .shapo@leetcode.com | + +### **Output:** +| user_id | name | mail | +| ------- | --------- | ----------------------- | +| 1 | Winston | winston@leetcode.com | +| 3 | Annabelle | bella-@leetcode.com | +| 4 | Sally | sally.come@leetcode.com | + +### **Explanation:** +- ✅ **Valid emails:** + - `winston@leetcode.com` ✅ (Starts with a letter, correct domain) + - `bella-@leetcode.com` ✅ (Starts with a letter, correct domain) + - `sally.come@leetcode.com` ✅ (Starts with a letter, correct domain) +- ❌ **Invalid emails:** + - `jonathanisgreat` ❌ (No domain) + - `quarz#2020@leetcode.com` ❌ (Contains `#`, which is not allowed) + - `david69@gmail.com` ❌ (Wrong domain) + - `.shapo@leetcode.com` ❌ (Starts with a period `.`) + +--- + +## 🖥 SQL Solution + +### ✅ **Using `REGEXP_LIKE` (MySQL)** +#### **Explanation:** +- Use `REGEXP_LIKE(mail, '^[A-Za-z]+[A-Za-z0-9_.-]*@leetcode\\.com$')` + - `^` → Start of string. + - `[A-Za-z]+` → First character **must** be a **letter**. + - `[A-Za-z0-9_.-]*` → Rest can be **letters, numbers, `_`, `.`, or `-`**. + - `@leetcode\\.com$` → Must end with `"@leetcode.com"`. + +```sql +SELECT * +FROM Users +WHERE REGEXP_LIKE(mail, '^[A-Za-z]+[A-Za-z0-9_.-]*@leetcode\\.com$'); +``` + +--- + +## 📁 File Structure +``` +📂 Find-Users-With-Valid-Emails +│── 📜 README.md +│── 📜 solution.sql +│── 📜 test_cases.sql +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/find-users-with-valid-e-mails/) +- 🔍 [MySQL REGEXP_LIKE Documentation](https://dev.mysql.com/doc/refman/8.0/en/regexp.html) +- 📝 [SQL Regular Expressions Cheatsheet](https://www.w3schools.com/sql/sql_regex.asp) +``` + +### Features of this `README.md`: +✅ **Clear problem statement with tables** +✅ **Example with detailed explanation** +✅ **SQL solution breakdown** +✅ **File structure for easy organization** +✅ **Helpful links for further learning** + +Would you like any modifications? 🚀 \ No newline at end of file From a1724559a101d4bad3996489e9c07c604da93edc Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:37:45 +0530 Subject: [PATCH 311/353] Update readme.md --- .../1517. Find Users With Valid E-Mails/readme.md | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails/readme.md b/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails/readme.md index 5c101eb..4162dc3 100644 --- a/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails/readme.md +++ b/LeetCode SQL 50 Solution/1517. Find Users With Valid E-Mails/readme.md @@ -1,6 +1,3 @@ -Here’s a well-structured `README.md` for **LeetCode 1517 - Find Users With Valid E-Mails**, formatted for a GitHub repository: - -```md # 📩 Find Users With Valid E-Mails - LeetCode 1517 ## 📌 Problem Statement @@ -96,13 +93,5 @@ WHERE REGEXP_LIKE(mail, '^[A-Za-z]+[A-Za-z0-9_.-]*@leetcode\\.com$'); - 📖 [LeetCode Problem](https://leetcode.com/problems/find-users-with-valid-e-mails/) - 🔍 [MySQL REGEXP_LIKE Documentation](https://dev.mysql.com/doc/refman/8.0/en/regexp.html) - 📝 [SQL Regular Expressions Cheatsheet](https://www.w3schools.com/sql/sql_regex.asp) -``` - -### Features of this `README.md`: -✅ **Clear problem statement with tables** -✅ **Example with detailed explanation** -✅ **SQL solution breakdown** -✅ **File structure for easy organization** -✅ **Helpful links for further learning** - -Would you like any modifications? 🚀 \ No newline at end of file +her learning** +## Would you like any modifications? 🚀 \ No newline at end of file From e7c1d6ede61ededb95b13049b1f07d8c694baad9 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:38:15 +0530 Subject: [PATCH 312/353] Update readme.md --- .../1527. Patients With a Condition/readme.md | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) diff --git a/LeetCode SQL 50 Solution/1527. Patients With a Condition/readme.md b/LeetCode SQL 50 Solution/1527. Patients With a Condition/readme.md index e69de29..40cca81 100644 --- a/LeetCode SQL 50 Solution/1527. Patients With a Condition/readme.md +++ b/LeetCode SQL 50 Solution/1527. Patients With a Condition/readme.md @@ -0,0 +1,89 @@ +Here’s a structured `README.md` for **LeetCode 1527 - Patients With a Condition**, formatted for a GitHub repository: + +```md +# 🏥 Patients With a Condition - LeetCode 1527 + +## 📌 Problem Statement +You are given a **Patients** table that stores patient health records, including their medical conditions. + +Each patient's **conditions** column contains **0 or more condition codes**, separated by spaces. + +Your task is to **find all patients who have Type I Diabetes**. +- Type I Diabetes is identified by a condition **starting with the prefix "DIAB1"**. + +Return the result **in any order**. + +--- + +## 📊 Table Structure + +### **Patients Table** +| Column Name | Type | +| ------------ | ------- | +| patient_id | int | +| patient_name | varchar | +| conditions | varchar | + +- `patient_id` is the **primary key**. +- `conditions` contains **space-separated condition codes**. + +--- + +## 📊 Example 1: + +### **Input:** +#### **Patients Table** +| patient_id | patient_name | conditions | +| ---------- | ------------ | ------------ | +| 1 | Daniel | YFEV COUGH | +| 2 | Alice | | +| 3 | Bob | DIAB100 MYOP | +| 4 | George | ACNE DIAB100 | +| 5 | Alain | DIAB201 | + +### **Output:** +| patient_id | patient_name | conditions | +| ---------- | ------------ | ------------ | +| 3 | Bob | DIAB100 MYOP | +| 4 | George | ACNE DIAB100 | + +### **Explanation:** +- ✅ **Bob's condition:** `"DIAB100 MYOP"` → **Starts with `"DIAB1"`** → ✅ **Valid** +- ✅ **George's condition:** `"ACNE DIAB100"` → **Contains `"DIAB1"`** → ✅ **Valid** +- ❌ **Daniel's condition:** `"YFEV COUGH"` → **No `"DIAB1"`** +- ❌ **Alice's condition:** `""` (Empty) +- ❌ **Alain's condition:** `"DIAB201"` → Does **not** start with `"DIAB1"` + +--- + +## 🖥 SQL Solution + +### ✅ **Using `LIKE` with wildcards** +#### **Explanation:** +- We need to check if `"DIAB1"` appears **at the beginning** or **somewhere in the conditions column**. +- `LIKE 'DIAB1%'` → Matches if `"DIAB1"` is at the **start** of the column. +- `LIKE '% DIAB1%'` → Matches if `"DIAB1"` appears **after a space (as part of multiple conditions).** + +```sql +SELECT patient_id, patient_name, conditions +FROM Patients +WHERE conditions LIKE 'DIAB1%' OR conditions LIKE '% DIAB1%'; +``` + +--- + +## 📁 File Structure +``` +📂 Patients-With-Condition +│── 📜 README.md +│── 📜 solution.sql +│── 📜 test_cases.sql +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/patients-with-a-condition/) +- 🔍 [SQL LIKE Operator](https://www.w3schools.com/sql/sql_like.asp) +- 📝 [MySQL String Functions](https://dev.mysql.com/doc/refman/8.0/en/string-functions.html) +## Would you like any refinements? 🚀 \ No newline at end of file From dad7b780bab1182681c6d11208e8e130f9ede0f6 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:38:30 +0530 Subject: [PATCH 313/353] Update readme.md --- .../1527. Patients With a Condition/readme.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/LeetCode SQL 50 Solution/1527. Patients With a Condition/readme.md b/LeetCode SQL 50 Solution/1527. Patients With a Condition/readme.md index 40cca81..9eb9694 100644 --- a/LeetCode SQL 50 Solution/1527. Patients With a Condition/readme.md +++ b/LeetCode SQL 50 Solution/1527. Patients With a Condition/readme.md @@ -1,6 +1,3 @@ -Here’s a structured `README.md` for **LeetCode 1527 - Patients With a Condition**, formatted for a GitHub repository: - -```md # 🏥 Patients With a Condition - LeetCode 1527 ## 📌 Problem Statement From 269dde09e5f47053fb6225ce2fd6b6888005823b Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:40:56 +0530 Subject: [PATCH 314/353] Update readme.md --- .../readme.md | 120 ++++++++++++++++++ 1 file changed, 120 insertions(+) diff --git a/LeetCode SQL 50 Solution/1581. Customer Who Visited but Did Not Make Any Transactions/readme.md b/LeetCode SQL 50 Solution/1581. Customer Who Visited but Did Not Make Any Transactions/readme.md index e69de29..118695f 100644 --- a/LeetCode SQL 50 Solution/1581. Customer Who Visited but Did Not Make Any Transactions/readme.md +++ b/LeetCode SQL 50 Solution/1581. Customer Who Visited but Did Not Make Any Transactions/readme.md @@ -0,0 +1,120 @@ +Here’s a structured `README.md` for **LeetCode 1581 - Customer Who Visited but Did Not Make Any Transactions**, formatted for a GitHub repository: + +```md +# 🏬 Customer Who Visited but Did Not Make Any Transactions - LeetCode 1581 + +## 📌 Problem Statement +You are given two tables, **Visits** and **Transactions**. + +- The **Visits** table records the customers who visited the mall. +- The **Transactions** table records the **transactions made** during a visit. + +Your task is to **find customers who visited but did not make any transactions**. +Also, return the **number of times** these customers **visited without making any transactions**. + +Return the result **in any order**. + +--- + +## 📊 Table Structure + +### **Visits Table** +| Column Name | Type | +| ----------- | ---- | +| visit_id | int | +| customer_id | int | + +- `visit_id` is the **unique identifier** for each visit. + +### **Transactions Table** +| Column Name | Type | +| -------------- | ---- | +| transaction_id | int | +| visit_id | int | +| amount | int | + +- `transaction_id` is the **unique identifier** for each transaction. +- `visit_id` represents the visit **associated with this transaction**. + +--- + +## 📊 Example 1: + +### **Input:** +#### **Visits Table** +| visit_id | customer_id | +| -------- | ----------- | +| 1 | 23 | +| 2 | 9 | +| 4 | 30 | +| 5 | 54 | +| 6 | 96 | +| 7 | 54 | +| 8 | 54 | + +#### **Transactions Table** +| transaction_id | visit_id | amount | +| -------------- | -------- | ------ | +| 2 | 5 | 310 | +| 3 | 5 | 300 | +| 9 | 5 | 200 | +| 12 | 1 | 910 | +| 13 | 2 | 970 | + +### **Output:** +| customer_id | count_no_trans | +| ----------- | -------------- | +| 54 | 2 | +| 30 | 1 | +| 96 | 1 | + +### **Explanation:** +- ✅ **Customer 23:** Visited **once**, made **1 transaction** → ❌ Not included +- ✅ **Customer 9:** Visited **once**, made **1 transaction** → ❌ Not included +- ✅ **Customer 30:** Visited **once**, made **0 transactions** → ✅ Included (`count_no_trans = 1`) +- ✅ **Customer 54:** Visited **3 times**, made **transactions in 1 visit**, **but 2 visits had no transactions** → ✅ Included (`count_no_trans = 2`) +- ✅ **Customer 96:** Visited **once**, made **0 transactions** → ✅ Included (`count_no_trans = 1`) + +--- + +## 🖥 SQL Solution + +### ✅ **Using `NOT IN` to Find Visits Without Transactions** +#### **Explanation:** +- First, **find all visit IDs** that **had at least one transaction** (`SELECT DISTINCT visit_id FROM Transactions`). +- Then, filter out these visit IDs from the **Visits** table. +- Finally, count the number of such visits **per customer**. + +```sql +SELECT customer_id, COUNT(*) AS count_no_trans +FROM Visits +WHERE visit_id NOT IN (SELECT DISTINCT visit_id FROM Transactions) +GROUP BY customer_id; +``` + +--- + +## 📁 File Structure +``` +📂 Customer-No-Transaction +│── 📜 README.md +│── 📜 solution.sql +│── 📜 test_cases.sql +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/customer-who-visited-but-did-not-make-any-transactions/) +- 🔍 [SQL NOT IN Operator](https://www.w3schools.com/sql/sql_in.asp) +- 📝 [MySQL Aggregate Functions](https://dev.mysql.com/doc/refman/8.0/en/group-by-functions.html) +``` + +### Features of this `README.md`: +✅ **Clear problem description with table formatting** +✅ **Example with detailed explanation** +✅ **SQL solution breakdown for better understanding** +✅ **Organized file structure for repository** +✅ **Helpful links for further learning** + +Would you like any refinements? 🚀 \ No newline at end of file From 3b4320e3b9de060a83ce2a2cf500cca3f16b7d25 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:41:04 +0530 Subject: [PATCH 315/353] Update readme.md --- .../readme.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/LeetCode SQL 50 Solution/1581. Customer Who Visited but Did Not Make Any Transactions/readme.md b/LeetCode SQL 50 Solution/1581. Customer Who Visited but Did Not Make Any Transactions/readme.md index 118695f..f5c4636 100644 --- a/LeetCode SQL 50 Solution/1581. Customer Who Visited but Did Not Make Any Transactions/readme.md +++ b/LeetCode SQL 50 Solution/1581. Customer Who Visited but Did Not Make Any Transactions/readme.md @@ -108,13 +108,3 @@ GROUP BY customer_id; - 📖 [LeetCode Problem](https://leetcode.com/problems/customer-who-visited-but-did-not-make-any-transactions/) - 🔍 [SQL NOT IN Operator](https://www.w3schools.com/sql/sql_in.asp) - 📝 [MySQL Aggregate Functions](https://dev.mysql.com/doc/refman/8.0/en/group-by-functions.html) -``` - -### Features of this `README.md`: -✅ **Clear problem description with table formatting** -✅ **Example with detailed explanation** -✅ **SQL solution breakdown for better understanding** -✅ **Organized file structure for repository** -✅ **Helpful links for further learning** - -Would you like any refinements? 🚀 \ No newline at end of file From 005548bdc8af6a7523a2f067002708326e348a1f Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:41:14 +0530 Subject: [PATCH 316/353] Update readme.md --- .../readme.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/LeetCode SQL 50 Solution/1581. Customer Who Visited but Did Not Make Any Transactions/readme.md b/LeetCode SQL 50 Solution/1581. Customer Who Visited but Did Not Make Any Transactions/readme.md index f5c4636..188444c 100644 --- a/LeetCode SQL 50 Solution/1581. Customer Who Visited but Did Not Make Any Transactions/readme.md +++ b/LeetCode SQL 50 Solution/1581. Customer Who Visited but Did Not Make Any Transactions/readme.md @@ -1,6 +1,3 @@ -Here’s a structured `README.md` for **LeetCode 1581 - Customer Who Visited but Did Not Make Any Transactions**, formatted for a GitHub repository: - -```md # 🏬 Customer Who Visited but Did Not Make Any Transactions - LeetCode 1581 ## 📌 Problem Statement From 807c510c6f67624339dbca622d39d5e8a04b96bf Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:43:50 +0530 Subject: [PATCH 317/353] Update readme.md --- .../readme.md | 115 ++++++++++++++++++ 1 file changed, 115 insertions(+) diff --git a/LeetCode SQL 50 Solution/1633. Percentage of Users Attended a Contest/readme.md b/LeetCode SQL 50 Solution/1633. Percentage of Users Attended a Contest/readme.md index e69de29..4922922 100644 --- a/LeetCode SQL 50 Solution/1633. Percentage of Users Attended a Contest/readme.md +++ b/LeetCode SQL 50 Solution/1633. Percentage of Users Attended a Contest/readme.md @@ -0,0 +1,115 @@ +# 🎯 Percentage of Users Attended a Contest - LeetCode 1633 + +## 📌 Problem Statement +You are given two tables, **Users** and **Register**. + +- The **Users** table contains the users who are registered on the platform. +- The **Register** table records which user registered for which contest. + +Your task is to **calculate the percentage of users who attended each contest**. + +- Round the percentage to **two decimal places**. +- **Sort the results** by the percentage in descending order. If the percentages are the same, sort them by **contest_id** in ascending order. + +--- + +## 📊 Table Structure + +### **Users Table** +| Column Name | Type | +| ----------- | ------- | +| user_id | int | +| user_name | varchar | + +- `user_id` is the **primary key** for this table. + +### **Register Table** +| Column Name | Type | +| ----------- | ---- | +| contest_id | int | +| user_id | int | + +- `(contest_id, user_id)` is the **primary key** for this table. +- This table keeps track of which user has registered for which contest. + +--- + +## 📊 Example 1: + +### **Input:** +#### **Users Table** +| user_id | user_name | +| ------- | --------- | +| 6 | Alice | +| 2 | Bob | +| 7 | Alex | + +#### **Register Table** +| contest_id | user_id | +| ---------- | ------- | +| 215 | 6 | +| 209 | 2 | +| 208 | 2 | +| 210 | 6 | +| 208 | 6 | +| 209 | 7 | +| 209 | 6 | +| 215 | 7 | +| 208 | 7 | +| 210 | 2 | +| 207 | 2 | +| 210 | 7 | + +### **Output:** +| contest_id | percentage | +| ---------- | ---------- | +| 208 | 100.00 | +| 209 | 100.00 | +| 210 | 100.00 | +| 215 | 66.67 | +| 207 | 33.33 | + +### **Explanation:** +- For **contest 208, 209, and 210**, **100%** of users attended these contests. +- For **contest 215**, **66.67%** of users attended it (Alice and Alex). +- For **contest 207**, only **33.33%** of users attended it (Bob). + +--- + +## 🖥 SQL Solution + +### ✅ **Approach:** +1. Calculate the total number of users in the **Users** table using `SELECT COUNT(*) FROM Users`. +2. For each contest, count how many users registered for that contest in the **Register** table. +3. Calculate the percentage of users who registered for each contest using the formula: + + \[ + \text{Percentage} = \left( \frac{\text{Registered Users}}{\text{Total Users}} \right) \times 100 + \] + +4. Round the percentage to **two decimal places**. +5. Sort the results by **percentage** in descending order. If there’s a tie, sort by **contest_id** in ascending order. + +```sql +SELECT contest_id, ROUND((COUNT(user_id) / (SELECT COUNT(*) FROM Users) * 100), 2) AS percentage +FROM Register +GROUP BY contest_id +ORDER BY percentage DESC, contest_id ASC; +``` + +--- + +## 📁 File Structure +``` +📂 Contest-Percentage +│── 📜 README.md +│── 📜 solution.sql +│── 📜 test_cases.sql +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/percentage-of-users-attended-a-contest/) +- 📝 [MySQL Aggregate Functions](https://dev.mysql.com/doc/refman/8.0/en/group-by-functions.html) +- 🔍 [SQL ROUND Function](https://www.w3schools.com/sql/func_mysql_round.asp) From 8953febd9b38c319b53b7d8fda304869eadfce7a Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:44:36 +0530 Subject: [PATCH 318/353] Update readme.md --- .../1667. Fix Names in a Table/readme.md | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/LeetCode SQL 50 Solution/1667. Fix Names in a Table/readme.md b/LeetCode SQL 50 Solution/1667. Fix Names in a Table/readme.md index e69de29..0d588e3 100644 --- a/LeetCode SQL 50 Solution/1667. Fix Names in a Table/readme.md +++ b/LeetCode SQL 50 Solution/1667. Fix Names in a Table/readme.md @@ -0,0 +1,93 @@ +Here’s a structured `README.md` for **LeetCode 1667 - Fix Names in a Table**, formatted for a GitHub repository: + +```md +# 📝 Fix Names in a Table - LeetCode 1667 + +## 📌 Problem Statement +You are given a table **Users** that contains user IDs and names. + +- The **name column** contains names that are written in a **mixed-case format** (e.g., `aLice`, `bOB`). +- Your task is to **correct the formatting** so that: + - The **first letter** of the name is **uppercase**. + - The **remaining letters** are **lowercase**. +- The result should be **ordered by user_id**. + +--- + +## 📊 Table Structure + +### **Users Table** +| Column Name | Type | +| ----------- | ------- | +| user_id | int | +| name | varchar | + +- `user_id` is the **primary key** for this table. +- `name` contains only **uppercase and lowercase** letters. + +--- + +## 📊 Example 1: + +### **Input:** +#### **Users Table** +| user_id | name | +| ------- | ----- | +| 1 | aLice | +| 2 | bOB | + +### **Output:** +| user_id | name | +| ------- | ----- | +| 1 | Alice | +| 2 | Bob | + +### **Explanation:** +- The first letter of each name is converted to **uppercase**. +- The remaining letters are converted to **lowercase**. + +--- + +## 🖥 SQL Solution + +### ✅ **Approach:** +1. Use the `UPPER()` function to **capitalize** the **first letter** of the name. +2. Use the `LOWER()` function to convert the **rest of the name** to **lowercase**. +3. Use `LEFT(name, 1)` to extract the **first character** of the name. +4. Use `SUBSTRING(name, 2)` to extract the **rest of the name**. +5. Use `CONCAT()` to combine the capitalized first letter and the lowercase remaining part. +6. **Sort the output** by `user_id`. + +```sql +SELECT user_id, + CONCAT(UPPER(LEFT(name, 1)), LOWER(SUBSTRING(name, 2))) AS name +FROM Users +ORDER BY user_id; +``` + +--- + +## 📁 File Structure +``` +📂 Fix-Names +│── 📜 README.md +│── 📜 solution.sql +│── 📜 test_cases.sql +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/fix-names-in-a-table/) +- 🔍 [SQL CONCAT Function](https://www.w3schools.com/sql/func_mysql_concat.asp) +- 📝 [MySQL String Functions](https://dev.mysql.com/doc/refman/8.0/en/string-functions.html) +``` + +### Features of this `README.md`: +✅ **Clear problem description with table formatting** +✅ **Example with detailed explanation** +✅ **SQL solution breakdown for better understanding** +✅ **Organized file structure for repository** +✅ **Helpful links for further learning** + +Would you like any refinements? 🚀 \ No newline at end of file From e2d1ada84e6dba18cc57524b765dd3efadecfd76 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:44:48 +0530 Subject: [PATCH 319/353] Update readme.md --- .../1667. Fix Names in a Table/readme.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/LeetCode SQL 50 Solution/1667. Fix Names in a Table/readme.md b/LeetCode SQL 50 Solution/1667. Fix Names in a Table/readme.md index 0d588e3..da1a91e 100644 --- a/LeetCode SQL 50 Solution/1667. Fix Names in a Table/readme.md +++ b/LeetCode SQL 50 Solution/1667. Fix Names in a Table/readme.md @@ -1,6 +1,4 @@ -Here’s a structured `README.md` for **LeetCode 1667 - Fix Names in a Table**, formatted for a GitHub repository: -```md # 📝 Fix Names in a Table - LeetCode 1667 ## 📌 Problem Statement @@ -81,13 +79,3 @@ ORDER BY user_id; - 📖 [LeetCode Problem](https://leetcode.com/problems/fix-names-in-a-table/) - 🔍 [SQL CONCAT Function](https://www.w3schools.com/sql/func_mysql_concat.asp) - 📝 [MySQL String Functions](https://dev.mysql.com/doc/refman/8.0/en/string-functions.html) -``` - -### Features of this `README.md`: -✅ **Clear problem description with table formatting** -✅ **Example with detailed explanation** -✅ **SQL solution breakdown for better understanding** -✅ **Organized file structure for repository** -✅ **Helpful links for further learning** - -Would you like any refinements? 🚀 \ No newline at end of file From 215e8eb1f2144d7f97d6cb85cff5b3bf51d94137 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:44:55 +0530 Subject: [PATCH 320/353] Update readme.md --- LeetCode SQL 50 Solution/1667. Fix Names in a Table/readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/LeetCode SQL 50 Solution/1667. Fix Names in a Table/readme.md b/LeetCode SQL 50 Solution/1667. Fix Names in a Table/readme.md index da1a91e..cd2e4c9 100644 --- a/LeetCode SQL 50 Solution/1667. Fix Names in a Table/readme.md +++ b/LeetCode SQL 50 Solution/1667. Fix Names in a Table/readme.md @@ -1,4 +1,3 @@ - # 📝 Fix Names in a Table - LeetCode 1667 ## 📌 Problem Statement From dd2b670f03cabec520a8263f87ad84c4de9c3b29 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:46:09 +0530 Subject: [PATCH 321/353] Update readme.md --- .../1683. Invalid Tweets/readme.md | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/LeetCode SQL 50 Solution/1683. Invalid Tweets/readme.md b/LeetCode SQL 50 Solution/1683. Invalid Tweets/readme.md index e69de29..0888aae 100644 --- a/LeetCode SQL 50 Solution/1683. Invalid Tweets/readme.md +++ b/LeetCode SQL 50 Solution/1683. Invalid Tweets/readme.md @@ -0,0 +1,85 @@ +Here's a well-structured `README.md` for **LeetCode 1683 - Invalid Tweets**, formatted for a GitHub repository: + +```md +# 🐦 Invalid Tweets - LeetCode 1683 + +## 📌 Problem Statement +You are given a table **Tweets** that contains tweet IDs and their content. + +- A tweet is **invalid** if its content exceeds **15 characters**. +- Your task is to find and return the **IDs of all invalid tweets**. + +--- + +## 📊 Table Structure + +### **Tweets Table** +| Column Name | Type | +| ----------- | ------- | +| tweet_id | int | +| content | varchar | + +- `tweet_id` is the **primary key**. +- `content` consists of **alphanumeric characters, '!', and spaces**. +- Tweets can have **a maximum of 15 characters** to be valid. + +--- + +## 📊 Example 1: + +### **Input:** +#### **Tweets Table** +| tweet_id | content | +| -------- | --------------------------------- | +| 1 | Let us Code | +| 2 | More than fifteen chars are here! | + +### **Output:** +| tweet_id | +| -------- | +| 2 | + +### **Explanation:** +- **Tweet 1** has **11 characters**, so it is **valid**. +- **Tweet 2** has **33 characters**, so it is **invalid**. + +--- + +## 🖥 SQL Solution + +### ✅ **Approach:** +1. Use the `LENGTH()` function to get the **character length** of the tweet. +2. Filter rows where **content length > 15**. +3. Return only the `tweet_id` of invalid tweets. + +```sql +SELECT tweet_id +FROM Tweets +WHERE LENGTH(content) > 15; +``` + +--- + +## 📁 File Structure +``` +📂 Invalid-Tweets +│── 📜 README.md +│── 📜 solution.sql +│── 📜 test_cases.sql +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/invalid-tweets/) +- 📝 [MySQL LENGTH Function](https://www.w3schools.com/sql/func_mysql_length.asp) +``` + +### Features of this `README.md`: +✅ **Concise problem description** +✅ **Example with detailed explanation** +✅ **SQL solution breakdown for clarity** +✅ **Organized repository structure** +✅ **Useful links for learning** + +Would you like any modifications? 🚀 \ No newline at end of file From f76b8c2a87422d53005009a6922203b70b819ca7 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:46:18 +0530 Subject: [PATCH 322/353] Update readme.md --- .../1683. Invalid Tweets/readme.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/LeetCode SQL 50 Solution/1683. Invalid Tweets/readme.md b/LeetCode SQL 50 Solution/1683. Invalid Tweets/readme.md index 0888aae..b5fb105 100644 --- a/LeetCode SQL 50 Solution/1683. Invalid Tweets/readme.md +++ b/LeetCode SQL 50 Solution/1683. Invalid Tweets/readme.md @@ -73,13 +73,3 @@ WHERE LENGTH(content) > 15; ## 🔗 Useful Links - 📖 [LeetCode Problem](https://leetcode.com/problems/invalid-tweets/) - 📝 [MySQL LENGTH Function](https://www.w3schools.com/sql/func_mysql_length.asp) -``` - -### Features of this `README.md`: -✅ **Concise problem description** -✅ **Example with detailed explanation** -✅ **SQL solution breakdown for clarity** -✅ **Organized repository structure** -✅ **Useful links for learning** - -Would you like any modifications? 🚀 \ No newline at end of file From 0466952d1fd5d6ac394365e725cb91bf1578b2fc Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:46:27 +0530 Subject: [PATCH 323/353] Update readme.md --- LeetCode SQL 50 Solution/1683. Invalid Tweets/readme.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/LeetCode SQL 50 Solution/1683. Invalid Tweets/readme.md b/LeetCode SQL 50 Solution/1683. Invalid Tweets/readme.md index b5fb105..586e52c 100644 --- a/LeetCode SQL 50 Solution/1683. Invalid Tweets/readme.md +++ b/LeetCode SQL 50 Solution/1683. Invalid Tweets/readme.md @@ -1,6 +1,3 @@ -Here's a well-structured `README.md` for **LeetCode 1683 - Invalid Tweets**, formatted for a GitHub repository: - -```md # 🐦 Invalid Tweets - LeetCode 1683 ## 📌 Problem Statement From 3bb28e45231d46cb108e88d860f7429c7b146569 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:46:50 +0530 Subject: [PATCH 324/353] Update readme.md --- .../1729. Find Followers Count/readme.md | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/LeetCode SQL 50 Solution/1729. Find Followers Count/readme.md b/LeetCode SQL 50 Solution/1729. Find Followers Count/readme.md index e69de29..a4ddc75 100644 --- a/LeetCode SQL 50 Solution/1729. Find Followers Count/readme.md +++ b/LeetCode SQL 50 Solution/1729. Find Followers Count/readme.md @@ -0,0 +1,82 @@ +Here’s a well-structured `README.md` for **LeetCode 1729 - Find Followers Count**, formatted for a GitHub repository: + +```md +# 📊 Find Followers Count - LeetCode 1729 + +## 📌 Problem Statement +You are given a table **Followers** that contains the following information: + +- `user_id`: The ID of the user being followed. +- `follower_id`: The ID of the user who is following. + +Your task is to return a list of users with their **follower count**, sorted in **ascending order of `user_id`**. + +--- + +## 📊 Table Structure + +### **Followers Table** +| Column Name | Type | +| ----------- | ---- | +| user_id | int | +| follower_id | int | + +- `(user_id, follower_id)` is the **primary key**. +- Each row represents a **follower relationship** between two users. + +--- + +## 📊 Example 1: + +### **Input:** +#### **Followers Table** +| user_id | follower_id | +| ------- | ----------- | +| 0 | 1 | +| 1 | 0 | +| 2 | 0 | +| 2 | 1 | + +### **Output:** +| user_id | followers_count | +| ------- | --------------- | +| 0 | 1 | +| 1 | 1 | +| 2 | 2 | + +### **Explanation:** +- **User 0** has **1 follower** `{1}`. +- **User 1** has **1 follower** `{0}`. +- **User 2** has **2 followers** `{0, 1}`. + +--- + +## 🖥 SQL Solution + +### ✅ **Approach:** +1. Use `COUNT(follower_id)` to count the number of followers for each `user_id`. +2. Use `GROUP BY user_id` to group the followers for each user. +3. Sort the result by `user_id` in **ascending order**. + +```sql +SELECT user_id, COUNT(follower_id) AS followers_count +FROM Followers +GROUP BY user_id +ORDER BY user_id; +``` + +--- + +## 📁 File Structure +``` +📂 Find-Followers-Count +│── 📜 README.md +│── 📜 solution.sql +│── 📜 test_cases.sql +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/find-followers-count/) +- 📝 [MySQL COUNT Function](https://www.w3schools.com/sql/sql_count.asp) From b10b65c6206170cabdfc94c961e320fe2ad8a339 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:47:01 +0530 Subject: [PATCH 325/353] Update readme.md --- LeetCode SQL 50 Solution/1729. Find Followers Count/readme.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/LeetCode SQL 50 Solution/1729. Find Followers Count/readme.md b/LeetCode SQL 50 Solution/1729. Find Followers Count/readme.md index a4ddc75..861539c 100644 --- a/LeetCode SQL 50 Solution/1729. Find Followers Count/readme.md +++ b/LeetCode SQL 50 Solution/1729. Find Followers Count/readme.md @@ -1,6 +1,3 @@ -Here’s a well-structured `README.md` for **LeetCode 1729 - Find Followers Count**, formatted for a GitHub repository: - -```md # 📊 Find Followers Count - LeetCode 1729 ## 📌 Problem Statement From 3229152cdacfcc9ad51a01ab95a1d20e439149f9 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:48:31 +0530 Subject: [PATCH 326/353] Update readme.md --- .../1729. Find Followers Count/readme.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/LeetCode SQL 50 Solution/1729. Find Followers Count/readme.md b/LeetCode SQL 50 Solution/1729. Find Followers Count/readme.md index 861539c..4805d92 100644 --- a/LeetCode SQL 50 Solution/1729. Find Followers Count/readme.md +++ b/LeetCode SQL 50 Solution/1729. Find Followers Count/readme.md @@ -1,3 +1,6 @@ +Here's an improved `README.md` with a **Python (Pandas) solution** alongside the **SQL solution**: + +```md # 📊 Find Followers Count - LeetCode 1729 ## 📌 Problem Statement @@ -64,12 +67,36 @@ ORDER BY user_id; --- +## 🐍 Python (Pandas) Solution + +### ✅ **Approach:** +1. Use `groupby("user_id")` to count followers for each user. +2. Use `reset_index(name="followers_count")` to format the result properly. +3. Sort the result by `user_id`. + +```python +import pandas as pd + +def find_followers_count(followers: pd.DataFrame) -> pd.DataFrame: + result = ( + followers.groupby("user_id")["follower_id"] + .count() + .reset_index(name="followers_count") + .sort_values("user_id") + ) + return result +``` + +--- + ## 📁 File Structure ``` 📂 Find-Followers-Count │── 📜 README.md │── 📜 solution.sql +│── 📜 solution.py │── 📜 test_cases.sql +│── 📜 test_cases.csv ``` --- @@ -77,3 +104,14 @@ ORDER BY user_id; ## 🔗 Useful Links - 📖 [LeetCode Problem](https://leetcode.com/problems/find-followers-count/) - 📝 [MySQL COUNT Function](https://www.w3schools.com/sql/sql_count.asp) +- 🐍 [Pandas GroupBy](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.groupby.html) +``` + +--- + +### 🚀 **What's New in this Version?** +✅ **Added Python (Pandas) Solution** +✅ **Structured File Organization** +✅ **Includes Helpful Links for Learning** + +Would you like any further enhancements? 🚀 \ No newline at end of file From bb626d00c179811ae02fc1e01adb7b12fe7a9f13 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:48:44 +0530 Subject: [PATCH 327/353] Update readme.md --- .../1729. Find Followers Count/readme.md | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/LeetCode SQL 50 Solution/1729. Find Followers Count/readme.md b/LeetCode SQL 50 Solution/1729. Find Followers Count/readme.md index 4805d92..54fa1e2 100644 --- a/LeetCode SQL 50 Solution/1729. Find Followers Count/readme.md +++ b/LeetCode SQL 50 Solution/1729. Find Followers Count/readme.md @@ -1,6 +1,3 @@ -Here's an improved `README.md` with a **Python (Pandas) solution** alongside the **SQL solution**: - -```md # 📊 Find Followers Count - LeetCode 1729 ## 📌 Problem Statement @@ -107,11 +104,3 @@ def find_followers_count(followers: pd.DataFrame) -> pd.DataFrame: - 🐍 [Pandas GroupBy](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.groupby.html) ``` ---- - -### 🚀 **What's New in this Version?** -✅ **Added Python (Pandas) Solution** -✅ **Structured File Organization** -✅ **Includes Helpful Links for Learning** - -Would you like any further enhancements? 🚀 \ No newline at end of file From 94f7c1c328615ccacdfa583e929406f7a4ad27a3 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:54:27 +0530 Subject: [PATCH 328/353] Update readme.md --- .../readme.md | 113 ++++++++++++++++++ 1 file changed, 113 insertions(+) diff --git a/LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products/readme.md b/LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products/readme.md index e69de29..c05e719 100644 --- a/LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products/readme.md +++ b/LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products/readme.md @@ -0,0 +1,113 @@ +Here’s a well-structured `README.md` for **LeetCode 1757 - Recyclable and Low Fat Products**, formatted for a GitHub repository: + +```md +# ♻️ Recyclable and Low Fat Products - LeetCode 1757 + +## 📌 Problem Statement +You are given a table **Products** that contains information about products with respect to their fat content and recyclability. + +- The **low_fats** column is an ENUM with values `'Y'` and `'N'`, where `'Y'` indicates the product is low fat. +- The **recyclable** column is an ENUM with values `'Y'` and `'N'`, where `'Y'` indicates the product is recyclable. + +Your task is to **find the IDs of products that are both low fat and recyclable**. + +Return the result in **any order**. + +--- + +## 📊 Table Structure + +### **Products Table** +| Column Name | Type | +| ----------- | ---- | +| product_id | int | +| low_fats | enum | +| recyclable | enum | + +- `product_id` is the **primary key**. + +--- + +## 📊 Example 1: + +### **Input:** +#### **Products Table** +| product_id | low_fats | recyclable | +| ---------- | -------- | ---------- | +| 0 | Y | N | +| 1 | Y | Y | +| 2 | N | Y | +| 3 | Y | Y | +| 4 | N | N | + +### **Output:** +| product_id | +| ---------- | +| 1 | +| 3 | + +### **Explanation:** +- Only products with `product_id` **1** and **3** are **both low fat and recyclable**. + +--- + +## 🖥 SQL Solution + +### ✅ **Approach:** +- Filter the **Products** table for rows where `low_fats = 'Y'` and `recyclable = 'Y'`. +- Return the corresponding `product_id`. + +```sql +SELECT product_id +FROM Products +WHERE low_fats = 'Y' AND recyclable = 'Y'; +``` + +--- + +## 🐍 Python (Pandas) Solution + +### ✅ **Approach:** +1. Load the **Products** table into a Pandas DataFrame. +2. Filter the DataFrame to keep rows where both `low_fats` and `recyclable` are `'Y'`. +3. Select and return the `product_id` column. + +```python +import pandas as pd + +def recyclable_low_fat_products(products: pd.DataFrame) -> pd.DataFrame: + # Filter rows where both low_fats and recyclable are 'Y' + filtered = products[(products['low_fats'] == 'Y') & (products['recyclable'] == 'Y')] + # Select only the product_id column + result = filtered[['product_id']] + return result +``` + +--- + +## 📁 File Structure +``` +📂 Recyclable-Low-Fat-Products +│── 📜 README.md +│── 📜 solution.sql +│── 📜 solution_pandas.py +│── 📜 test_cases.sql +│── 📜 sample_data.csv +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/recyclable-and-low-fat-products/) +- 🔍 [MySQL WHERE Clause](https://www.w3schools.com/sql/sql_where.asp) +- 🐍 [Pandas DataFrame Filtering](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.loc.html) +``` + +### Features of this `README.md`: +✅ **Clear problem description with table structure** +✅ **Example with detailed explanation** +✅ **SQL and Python (Pandas) solutions with breakdown** +✅ **Organized file structure for repository** +✅ **Helpful links for further learning** + +Let me know if you need any modifications! \ No newline at end of file From 882a0fcbc2c504e6407da2e3a0a3e50ab6c0a1db Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:54:39 +0530 Subject: [PATCH 329/353] Update readme.md --- .../1757. Recyclable and Low Fat Products/readme.md | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products/readme.md b/LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products/readme.md index c05e719..74614f9 100644 --- a/LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products/readme.md +++ b/LeetCode SQL 50 Solution/1757. Recyclable and Low Fat Products/readme.md @@ -1,6 +1,3 @@ -Here’s a well-structured `README.md` for **LeetCode 1757 - Recyclable and Low Fat Products**, formatted for a GitHub repository: - -```md # ♻️ Recyclable and Low Fat Products - LeetCode 1757 ## 📌 Problem Statement @@ -101,13 +98,3 @@ def recyclable_low_fat_products(products: pd.DataFrame) -> pd.DataFrame: - 📖 [LeetCode Problem](https://leetcode.com/problems/recyclable-and-low-fat-products/) - 🔍 [MySQL WHERE Clause](https://www.w3schools.com/sql/sql_where.asp) - 🐍 [Pandas DataFrame Filtering](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.loc.html) -``` - -### Features of this `README.md`: -✅ **Clear problem description with table structure** -✅ **Example with detailed explanation** -✅ **SQL and Python (Pandas) solutions with breakdown** -✅ **Organized file structure for repository** -✅ **Helpful links for further learning** - -Let me know if you need any modifications! \ No newline at end of file From b3413762867ad39c9ac2870a59bf50bb4d078259 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:55:03 +0530 Subject: [PATCH 330/353] Update readme.md --- .../readme.md | 148 ++++++++++++++++++ 1 file changed, 148 insertions(+) diff --git a/LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee/readme.md b/LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee/readme.md index e69de29..0740626 100644 --- a/LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee/readme.md +++ b/LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee/readme.md @@ -0,0 +1,148 @@ +Here’s a well-structured `README.md` for **LeetCode 1731 - The Number of Employees Which Report to Each Employee**, formatted for a GitHub repository: + +```md +# 👥 The Number of Employees Which Report to Each Employee - LeetCode 1731 + +## 📌 Problem Statement +You are given a table **Employees** that contains the following columns: +- `employee_id`: The unique ID of the employee. +- `name`: The name of the employee. +- `reports_to`: The `employee_id` of the manager the employee reports to (can be `NULL` if the employee does not report to anyone). +- `age`: The age of the employee. + +A manager is defined as an employee who has **at least 1 direct report**. +Your task is to report: +- The **IDs and names of all managers**. +- The **number of employees** who report **directly** to them. +- The **average age** of their direct reports, rounded to the nearest integer. + +Return the result **ordered by `employee_id`** in ascending order. + +--- + +## 📊 Table Structure + +### **Employees Table** +| Column Name | Type | +| ----------- | ------- | +| employee_id | int | +| name | varchar | +| reports_to | int | +| age | int | + +- `employee_id` is the **primary key**. +- `reports_to` may be `NULL` for employees who do not report to anyone. + +--- + +## 📊 Example 1: + +### **Input:** +| employee_id | name | reports_to | age | +| ----------- | ------- | ---------- | --- | +| 9 | Hercy | NULL | 43 | +| 6 | Alice | 9 | 41 | +| 4 | Bob | 9 | 36 | +| 2 | Winston | NULL | 37 | + +### **Output:** +| employee_id | name | reports_count | average_age | +| ----------- | ----- | ------------- | ----------- | +| 9 | Hercy | 2 | 39 | + +### **Explanation:** +- **Hercy** (employee_id = 9) is a manager with two direct reports: **Alice** (age 41) and **Bob** (age 36). +- The average age of these reports is (41 + 36) / 2 = 38.5, which is rounded to **39**. + +--- + +## 🖥 SQL Solution + +### ✅ **Approach:** +1. Use a **self-join** on the **Employees** table where the employee’s `reports_to` matches the manager’s `employee_id`. +2. Count the number of direct reports for each manager. +3. Compute the average age of the direct reports and round the result to the nearest integer. +4. Group by the manager’s `employee_id` and order the results by `employee_id`. + +```sql +SELECT + Manager.employee_id, + Manager.name, + COUNT(Employee.employee_id) AS reports_count, + ROUND(AVG(Employee.age)) AS average_age +FROM Employees AS Manager +INNER JOIN Employees AS Employee + ON Employee.reports_to = Manager.employee_id +GROUP BY Manager.employee_id +ORDER BY Manager.employee_id; +``` + +--- + +## 🐍 Python (Pandas) Solution + +### ✅ **Approach:** +1. Filter the DataFrame to create a join between managers and their direct reports. +2. Group by the manager’s `employee_id` and compute: + - The count of direct reports. + - The average age of the reports, then round the average. +3. Merge the results with the original manager information. +4. Sort the result by `employee_id`. + +```python +import pandas as pd + +def employees_reporting(employees: pd.DataFrame) -> pd.DataFrame: + # Merge the table with itself: one for managers and one for employees reporting to them. + merged = employees.merge( + employees, + left_on='employee_id', + right_on='reports_to', + suffixes=('_manager', '_report') + ) + + # Group by manager's employee_id and name, then compute the count and average age of reports. + result = merged.groupby(['employee_id_manager', 'name_manager']).agg( + reports_count=('employee_id_report', 'count'), + average_age=('age_report', lambda x: round(x.mean())) + ).reset_index() + + # Rename columns to match expected output. + result.rename(columns={ + 'employee_id_manager': 'employee_id', + 'name_manager': 'name' + }, inplace=True) + + # Sort by employee_id in ascending order. + result = result.sort_values('employee_id').reset_index(drop=True) + return result +``` + +--- + +## 📁 File Structure +``` +📂 Employees-Reporting +│── 📜 README.md +│── 📜 solution.sql +│── 📜 solution_pandas.py +│── 📜 test_cases.sql +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/the-number-of-employees-which-report-to-each-employee/) +- 🔍 [MySQL GROUP BY Documentation](https://www.w3schools.com/sql/sql_groupby.asp) +- 🐍 [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) +``` + +### Features of this `README.md`: +✅ **Clear problem description with table structure** +✅ **Example with detailed explanation** +✅ **SQL solution with breakdown** +✅ **Python (Pandas) solution with code and explanation** +✅ **Organized repository structure** +✅ **Helpful links for further learning** + +Would you like any further modifications? \ No newline at end of file From 03dc4ce9ed80fa77a99d9c6457ca01cbe509538a Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:55:19 +0530 Subject: [PATCH 331/353] Update readme.md --- .../readme.md | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee/readme.md b/LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee/readme.md index 0740626..8d6ef33 100644 --- a/LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee/readme.md +++ b/LeetCode SQL 50 Solution/1731. The Number of Employees Which Report to Each Employee/readme.md @@ -1,6 +1,3 @@ -Here’s a well-structured `README.md` for **LeetCode 1731 - The Number of Employees Which Report to Each Employee**, formatted for a GitHub repository: - -```md # 👥 The Number of Employees Which Report to Each Employee - LeetCode 1731 ## 📌 Problem Statement @@ -135,14 +132,3 @@ def employees_reporting(employees: pd.DataFrame) -> pd.DataFrame: - 📖 [LeetCode Problem](https://leetcode.com/problems/the-number-of-employees-which-report-to-each-employee/) - 🔍 [MySQL GROUP BY Documentation](https://www.w3schools.com/sql/sql_groupby.asp) - 🐍 [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) -``` - -### Features of this `README.md`: -✅ **Clear problem description with table structure** -✅ **Example with detailed explanation** -✅ **SQL solution with breakdown** -✅ **Python (Pandas) solution with code and explanation** -✅ **Organized repository structure** -✅ **Helpful links for further learning** - -Would you like any further modifications? \ No newline at end of file From 545d0a98149504319c59ada9b43452eae7ba76b4 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:56:28 +0530 Subject: [PATCH 332/353] Update readme.md --- .../readme.md | 140 ++++++++++++++++++ 1 file changed, 140 insertions(+) diff --git a/LeetCode SQL 50 Solution/1789. Primary Department for Each Employee/readme.md b/LeetCode SQL 50 Solution/1789. Primary Department for Each Employee/readme.md index e69de29..bc876ce 100644 --- a/LeetCode SQL 50 Solution/1789. Primary Department for Each Employee/readme.md +++ b/LeetCode SQL 50 Solution/1789. Primary Department for Each Employee/readme.md @@ -0,0 +1,140 @@ +Below is a well-structured `README.md` for **LeetCode 1789 - Primary Department for Each Employee**, including both the SQL and Pandas (Python) solutions: + +```md +# 🏢 Primary Department for Each Employee - LeetCode 1789 + +## 📌 Problem Statement +You are given a table **Employee** that contains the following columns: + +- **employee_id**: The ID of the employee. +- **department_id**: The ID of the department to which the employee belongs. +- **primary_flag**: An ENUM ('Y', 'N'). + - If `primary_flag` is `'Y'`, then the department is the primary department for that employee. + - If `primary_flag` is `'N'`, then the department is not primary. + +**Note:** +- An employee can belong to multiple departments. When an employee joins multiple departments, they decide which one is their primary (set to `'Y'`). +- If an employee belongs to only one department, then their `primary_flag` is `'N'`, but that department is still considered their primary department. + +Your task is to **report all employees with their primary department**. +For employees who belong to only one department, report that department. + +Return the result table in **any order**. + +--- + +## 📊 Table Structure + +### **Employee Table** +| Column Name | Type | +| ------------- | ------- | +| employee_id | int | +| department_id | int | +| primary_flag | varchar | + +- `(employee_id, department_id)` is the **primary key** for this table. + +--- + +## 📊 Example 1: + +### **Input:** +#### **Employee Table** +| employee_id | department_id | primary_flag | +| ----------- | ------------- | ------------ | +| 1 | 1 | N | +| 2 | 1 | Y | +| 2 | 2 | N | +| 3 | 3 | N | +| 4 | 2 | N | +| 4 | 3 | Y | +| 4 | 4 | N | + +### **Output:** +| employee_id | department_id | +| ----------- | ------------- | +| 1 | 1 | +| 2 | 1 | +| 3 | 3 | +| 4 | 3 | + +### **Explanation:** +- **Employee 1** belongs to only one department (1), so department 1 is their primary. +- **Employee 2** belongs to departments 1 and 2. The row with `primary_flag = 'Y'` indicates that department 1 is their primary. +- **Employee 3** belongs only to department 3. +- **Employee 4** belongs to departments 2, 3, and 4. The row with `primary_flag = 'Y'` indicates that department 3 is their primary. + +--- + +## 🖥 SQL Solution + +### ✅ **Approach:** +- **Step 1:** For employees who have `primary_flag = 'Y'`, choose those rows. +- **Step 2:** For employees who belong to only one department, return that row. +- Combine the results using `UNION DISTINCT`. + +```sql +SELECT employee_id, department_id +FROM Employee +WHERE primary_flag = 'Y' +UNION DISTINCT +SELECT employee_id, department_id +FROM Employee +GROUP BY employee_id +HAVING COUNT(*) = 1; +``` + +--- + +## 🐍 Python (Pandas) Solution + +### ✅ **Approach:** +1. **Group** the DataFrame by `employee_id`. +2. For each group: + - If any row has `primary_flag == 'Y'`, choose the first such row. + - Otherwise (i.e., employee belongs to only one department), choose that row. +3. Return the resulting DataFrame with only `employee_id` and `department_id`. + +```python +import pandas as pd + +def primary_department(employees: pd.DataFrame) -> pd.DataFrame: + def select_primary(group): + # If there's any row with primary_flag 'Y', choose the first one + if (group['primary_flag'] == 'Y').any(): + return group[group['primary_flag'] == 'Y'].iloc[0] + else: + # For employees with only one department + return group.iloc[0] + + result = employees.groupby('employee_id').apply(select_primary).reset_index(drop=True) + return result[['employee_id', 'department_id']] +``` + +--- + +## 📁 File Structure +``` +📂 Primary-Department +│── README.md +│── solution.sql +│── solution_pandas.py +│── test_cases.sql +│── sample_data.csv +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/primary-department-for-each-employee/) +- 🔍 [MySQL UNION Operator](https://www.w3schools.com/sql/sql_union.asp) +- 🐍 [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) +``` + +This `README.md` includes: +- A **clear problem statement** with table structure and example. +- A detailed **SQL solution** with an explanation. +- A detailed **Pandas (Python) solution** with an explanation. +- An organized **file structure** and helpful external links. + +Let me know if you need any modifications! \ No newline at end of file From a9bf21ac2f732ee001f00735e67c07f441b27f60 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:56:38 +0530 Subject: [PATCH 333/353] Update readme.md --- .../readme.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/LeetCode SQL 50 Solution/1789. Primary Department for Each Employee/readme.md b/LeetCode SQL 50 Solution/1789. Primary Department for Each Employee/readme.md index bc876ce..db5ce3b 100644 --- a/LeetCode SQL 50 Solution/1789. Primary Department for Each Employee/readme.md +++ b/LeetCode SQL 50 Solution/1789. Primary Department for Each Employee/readme.md @@ -1,6 +1,3 @@ -Below is a well-structured `README.md` for **LeetCode 1789 - Primary Department for Each Employee**, including both the SQL and Pandas (Python) solutions: - -```md # 🏢 Primary Department for Each Employee - LeetCode 1789 ## 📌 Problem Statement @@ -129,12 +126,3 @@ def primary_department(employees: pd.DataFrame) -> pd.DataFrame: - 📖 [LeetCode Problem](https://leetcode.com/problems/primary-department-for-each-employee/) - 🔍 [MySQL UNION Operator](https://www.w3schools.com/sql/sql_union.asp) - 🐍 [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) -``` - -This `README.md` includes: -- A **clear problem statement** with table structure and example. -- A detailed **SQL solution** with an explanation. -- A detailed **Pandas (Python) solution** with an explanation. -- An organized **file structure** and helpful external links. - -Let me know if you need any modifications! \ No newline at end of file From 0b3070084d98f6f4be4f51a247bec087f7f355c8 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:57:55 +0530 Subject: [PATCH 334/353] Update readme.md --- .../1907. Count Salary Categories/readme.md | 197 ++++++++++++++++++ 1 file changed, 197 insertions(+) diff --git a/LeetCode SQL 50 Solution/1907. Count Salary Categories/readme.md b/LeetCode SQL 50 Solution/1907. Count Salary Categories/readme.md index e69de29..2ef90fc 100644 --- a/LeetCode SQL 50 Solution/1907. Count Salary Categories/readme.md +++ b/LeetCode SQL 50 Solution/1907. Count Salary Categories/readme.md @@ -0,0 +1,197 @@ +Below is a well-structured `README.md` for **LeetCode 907 - Count Salary Categories**. It includes detailed explanations for the SQL solution using CTEs and a corresponding Pandas solution. + +```md +# 💰 Count Salary Categories - LeetCode 907 + +## 📌 Problem Statement +You are given a table **Accounts** that contains information about bank accounts, including their monthly income. +Your task is to calculate the number of bank accounts in each salary category. + +The salary categories are defined as follows: +- **"Low Salary"**: Salaries strictly less than \$20,000. +- **"Average Salary"**: Salaries in the inclusive range [\$20,000, \$50,000]. +- **"High Salary"**: Salaries strictly greater than \$50,000. + +The result table must contain **all three categories**. If there are no accounts in a category, return 0. + +Return the result in **any order**. + +--- + +## 📊 Table Structure + +### **Accounts Table** +| Column Name | Type | +| ----------- | ---- | +| account_id | int | +| income | int | + +- `account_id` is the **primary key** for this table. +- Each row contains the monthly income for one bank account. + +--- + +## 📊 Example 1: + +### **Input:** +#### **Accounts Table** +| account_id | income | +| ---------- | ------ | +| 3 | 108939 | +| 2 | 12747 | +| 8 | 87709 | +| 6 | 91796 | + +### **Output:** +| category | accounts_count | +| -------------- | -------------- | +| Low Salary | 1 | +| Average Salary | 0 | +| High Salary | 3 | + +### **Explanation:** +- **Low Salary**: Account with income 12747. +- **Average Salary**: No accounts have an income in the range [20000, 50000]. +- **High Salary**: Accounts with incomes 108939, 87709, and 91796. + +--- + +## 🖥 SQL Solution + +### ✅ **Approach:** +1. **CTE "S"**: Create a static table with the three salary categories. + ```sql + WITH S AS ( + SELECT 'Low Salary' AS category + UNION + SELECT 'Average Salary' + UNION + SELECT 'High Salary' + ), + ``` + - This defines the three salary categories to ensure every category appears in the final result. + +2. **CTE "T"**: Categorize each account from the **Accounts** table using a `CASE` statement and count the number of accounts in each category. + ```sql + T AS ( + SELECT + CASE + WHEN income < 20000 THEN 'Low Salary' + WHEN income > 50000 THEN 'High Salary' + ELSE 'Average Salary' + END AS category, + COUNT(1) AS accounts_count + FROM Accounts + GROUP BY 1 + ) + ``` + - The `CASE` statement assigns a salary category based on the income. + - `COUNT(1)` counts the number of accounts in each category. + +3. **Final SELECT with LEFT JOIN**: Combine the static category table `S` with the computed counts from `T` to ensure every category is included, using `IFNULL` to convert any missing count to 0. + ```sql + SELECT S.category, IFNULL(T.accounts_count, 0) AS accounts_count + FROM S + LEFT JOIN T USING (category); + ``` + +### ✅ **Complete SQL Query:** +```sql +WITH S AS ( + SELECT 'Low Salary' AS category + UNION + SELECT 'Average Salary' + UNION + SELECT 'High Salary' +), +T AS ( + SELECT + CASE + WHEN income < 20000 THEN 'Low Salary' + WHEN income > 50000 THEN 'High Salary' + ELSE 'Average Salary' + END AS category, + COUNT(1) AS accounts_count + FROM Accounts + GROUP BY 1 +) +SELECT S.category, IFNULL(T.accounts_count, 0) AS accounts_count +FROM S +LEFT JOIN T USING (category); +``` + +--- + +## 🐍 Python (Pandas) Solution + +### ✅ **Approach:** +1. **Categorize Accounts**: Create a new column `category` in the DataFrame by applying the salary conditions. +2. **Group and Count**: Group by the `category` column and count the number of accounts. +3. **Merge with Static Categories**: Ensure all three salary categories appear by merging with a predefined DataFrame that contains all categories, filling missing counts with 0. + +```python +import pandas as pd + +def count_salary_categories(accounts: pd.DataFrame) -> pd.DataFrame: + # Define the salary categorization function + def categorize(income): + if income < 20000: + return 'Low Salary' + elif income > 50000: + return 'High Salary' + else: + return 'Average Salary' + + # Apply categorization + accounts['category'] = accounts['income'].apply(categorize) + + # Count accounts in each category + counts = accounts.groupby('category').size().reset_index(name='accounts_count') + + # Define static categories DataFrame + categories = pd.DataFrame({ + 'category': ['Low Salary', 'Average Salary', 'High Salary'] + }) + + # Merge to ensure all categories are present, fill missing values with 0 + result = categories.merge(counts, on='category', how='left') + result['accounts_count'] = result['accounts_count'].fillna(0).astype(int) + + return result + +# Example usage: +# df = pd.read_csv("sample_accounts.csv") +# print(count_salary_categories(df)) +``` + +--- + +## 📁 File Structure +``` +📂 Count-Salary-Categories +│── README.md +│── solution.sql +│── solution_pandas.py +│── test_cases.sql +│── sample_accounts.csv +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/count-salary-categories/) +- 📝 [MySQL WITH Clause (CTE)](https://www.w3schools.com/sql/sql_with.asp) +- 🔍 [MySQL IFNULL Function](https://www.w3schools.com/sql/func_mysql_ifnull.asp) +- 🐍 [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) +``` + +--- + +### Features of this `README.md`: +- **Clear Problem Statement** with table structure and detailed example. +- **SQL Solution** with detailed explanation using CTEs and LEFT JOIN. +- **Python (Pandas) Solution** with step-by-step categorization and merging. +- **Organized File Structure** for repository management. +- **Helpful External Links** for further learning. + +Let me know if you need any modifications or additional details! \ No newline at end of file From eb83cae9a65d6c10c2db441d9c8fb851f7615408 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:58:07 +0530 Subject: [PATCH 335/353] Update readme.md --- .../1907. Count Salary Categories/readme.md | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/LeetCode SQL 50 Solution/1907. Count Salary Categories/readme.md b/LeetCode SQL 50 Solution/1907. Count Salary Categories/readme.md index 2ef90fc..e5fc42d 100644 --- a/LeetCode SQL 50 Solution/1907. Count Salary Categories/readme.md +++ b/LeetCode SQL 50 Solution/1907. Count Salary Categories/readme.md @@ -1,6 +1,3 @@ -Below is a well-structured `README.md` for **LeetCode 907 - Count Salary Categories**. It includes detailed explanations for the SQL solution using CTEs and a corresponding Pandas solution. - -```md # 💰 Count Salary Categories - LeetCode 907 ## 📌 Problem Statement @@ -185,13 +182,3 @@ def count_salary_categories(accounts: pd.DataFrame) -> pd.DataFrame: - 🐍 [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) ``` ---- - -### Features of this `README.md`: -- **Clear Problem Statement** with table structure and detailed example. -- **SQL Solution** with detailed explanation using CTEs and LEFT JOIN. -- **Python (Pandas) Solution** with step-by-step categorization and merging. -- **Organized File Structure** for repository management. -- **Helpful External Links** for further learning. - -Let me know if you need any modifications or additional details! \ No newline at end of file From 2a246d453a93ac0cd41f8b7b127cb67975ceaca1 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:58:25 +0530 Subject: [PATCH 336/353] Update readme.md --- .../1934. Confirmation Rate/readme.md | 187 ++++++++++++++++++ 1 file changed, 187 insertions(+) diff --git a/LeetCode SQL 50 Solution/1934. Confirmation Rate/readme.md b/LeetCode SQL 50 Solution/1934. Confirmation Rate/readme.md index e69de29..22e7ab7 100644 --- a/LeetCode SQL 50 Solution/1934. Confirmation Rate/readme.md +++ b/LeetCode SQL 50 Solution/1934. Confirmation Rate/readme.md @@ -0,0 +1,187 @@ +Below is a well-structured `README.md` file for **LeetCode 1934 - Confirmation Rate**, including detailed explanations for the SQL solution using both the shorthand and CASE statement approaches, along with a Pandas (Python) solution. + +```md +# 📩 Confirmation Rate - LeetCode 1934 + +## 📌 Problem Statement +You are given two tables: **Signups** and **Confirmations**. + +- The **Signups** table contains the signup time for each user. +- The **Confirmations** table records each confirmation request made by a user along with the outcome (either `'confirmed'` or `'timeout'`). + +The **confirmation rate** for a user is defined as: +\[ +\text{confirmation rate} = \frac{\text{Number of confirmed messages}}{\text{Total number of confirmation requests}} +\] +If a user did not request any confirmation messages, their confirmation rate is defined as 0. + +Your task is to calculate the confirmation rate for each user and round it to two decimal places. + +Return the result table in **any order**. + +--- + +## 📊 Table Structure + +### **Signups Table** +| Column Name | Type | +| ----------- | -------- | +| user_id | int | +| time_stamp | datetime | + +- `user_id` is unique for each user. + +### **Confirmations Table** +| Column Name | Type | +| ----------- | -------- | +| user_id | int | +| time_stamp | datetime | +| action | ENUM | + +- `(user_id, time_stamp)` is the primary key. +- `action` is either `'confirmed'` or `'timeout'`. +- `user_id` in Confirmations is a foreign key to Signups. + +--- + +## 📊 Example 1: + +### **Input:** +#### **Signups Table** +| user_id | time_stamp | +| ------- | ------------------- | +| 3 | 2020-03-21 10:16:13 | +| 7 | 2020-01-04 13:57:59 | +| 2 | 2020-07-29 23:09:44 | +| 6 | 2020-12-09 10:39:37 | + +#### **Confirmations Table** +| user_id | time_stamp | action | +| ------- | ------------------- | --------- | +| 3 | 2021-01-06 03:30:46 | timeout | +| 3 | 2021-07-14 14:00:00 | timeout | +| 7 | 2021-06-12 11:57:29 | confirmed | +| 7 | 2021-06-13 12:58:28 | confirmed | +| 7 | 2021-06-14 13:59:27 | confirmed | +| 2 | 2021-01-22 00:00:00 | confirmed | +| 2 | 2021-02-28 23:59:59 | timeout | + +### **Output:** +| user_id | confirmation_rate | +| ------- | ----------------- | +| 6 | 0.00 | +| 3 | 0.00 | +| 7 | 1.00 | +| 2 | 0.50 | + +### **Explanation:** +- **User 6** did not request any confirmation messages, so the rate is **0.00**. +- **User 3** made 2 requests; both were timeouts, so the rate is **0.00**. +- **User 7** made 3 requests; all were confirmed, so the rate is **1.00**. +- **User 2** made 2 requests; 1 confirmed and 1 timeout, so the rate is **0.50**. + +--- + +## 🖥 SQL Solutions + +### ✅ **Solution 1: Using Shorthand Boolean Expressions** +#### **Explanation:** +- `SUM(action = 'confirmed')` counts the number of rows where the action is `'confirmed'` (in MySQL, boolean expressions return 1 if true, 0 if false). +- `COUNT(1)` counts all confirmation requests. +- We use a `LEFT JOIN` between **Signups** and **Confirmations** so that users without any confirmation requests are included (their rate becomes 0). +- `IFNULL` is used to handle cases where a user has no confirmation requests. + +```sql +SELECT + user_id, + ROUND(IFNULL(SUM(action = 'confirmed') / COUNT(1), 0), 2) AS confirmation_rate +FROM Signups +LEFT JOIN Confirmations USING (user_id) +GROUP BY user_id; +``` + +### ✅ **Solution 2: Using a CASE Statement** +#### **Explanation:** +- The `CASE` statement explicitly counts 1 for `'confirmed'` actions and 0 otherwise. +- The rest of the query logic remains similar. + +```sql +SELECT + user_id, + ROUND(IFNULL(SUM(CASE WHEN action = 'confirmed' THEN 1 ELSE 0 END) / COUNT(1), 0), 2) AS confirmation_rate +FROM Signups +LEFT JOIN Confirmations USING (user_id) +GROUP BY user_id; +``` + +--- + +## 🐍 Python (Pandas) Solution + +### ✅ **Approach:** +1. **Merge** the **Signups** and **Confirmations** DataFrames on `user_id` using a left join, so that all users are included. +2. **Count** the total number of confirmation requests and the number of confirmed requests for each user. +3. **Calculate** the confirmation rate as the number of confirmed requests divided by the total requests. +4. **Handle** users with no confirmation requests by setting their rate to 0. +5. **Round** the confirmation rate to two decimal places. + +```python +import pandas as pd + +def confirmation_rate(signups: pd.DataFrame, confirmations: pd.DataFrame) -> pd.DataFrame: + # Merge the dataframes to include all users from signups + merged = pd.merge(signups, confirmations, on='user_id', how='left') + + # Group by user_id and calculate total requests and confirmed requests + summary = merged.groupby('user_id').agg( + total_requests=('action', 'count'), + confirmed_requests=('action', lambda x: (x == 'confirmed').sum()) + ).reset_index() + + # Calculate confirmation rate; if total_requests is 0, rate is 0. + summary['confirmation_rate'] = summary.apply( + lambda row: round(row['confirmed_requests'] / row['total_requests'], 2) if row['total_requests'] > 0 else 0.00, + axis=1 + ) + + # Select the relevant columns + result = summary[['user_id', 'confirmation_rate']] + return result + +# Example usage: +# signups_df = pd.read_csv("signups.csv") +# confirmations_df = pd.read_csv("confirmations.csv") +# print(confirmation_rate(signups_df, confirmations_df)) +``` + +--- + +## 📁 File Structure +``` +📂 Confirmation-Rate +│── README.md +│── solution.sql +│── solution_pandas.py +│── test_cases.sql +│── sample_signups.csv +│── sample_confirmations.csv +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/confirmation-rate/) +- 📝 [MySQL IFNULL Function](https://www.w3schools.com/sql/func_mysql_ifnull.asp) +- 🔍 [MySQL ROUND Function](https://www.w3schools.com/sql/func_mysql_round.asp) +- 🐍 [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) +``` + +--- + +### Features of this `README.md`: +- **Clear Problem Statement** with detailed table structures and examples. +- **SQL Solutions** with both a shorthand boolean expression and a CASE statement approach, complete with explanations. +- **Python (Pandas) Solution** with step-by-step instructions on merging, grouping, and calculating the confirmation rate. +- **Organized File Structure** and helpful external links for further learning. + +Let me know if you need any further modifications or additions! \ No newline at end of file From 7cfa939577874b930c570fa48a9a812743d9052d Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:58:44 +0530 Subject: [PATCH 337/353] Update readme.md --- .../1934. Confirmation Rate/readme.md | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/LeetCode SQL 50 Solution/1934. Confirmation Rate/readme.md b/LeetCode SQL 50 Solution/1934. Confirmation Rate/readme.md index 22e7ab7..eab61d4 100644 --- a/LeetCode SQL 50 Solution/1934. Confirmation Rate/readme.md +++ b/LeetCode SQL 50 Solution/1934. Confirmation Rate/readme.md @@ -1,6 +1,3 @@ -Below is a well-structured `README.md` file for **LeetCode 1934 - Confirmation Rate**, including detailed explanations for the SQL solution using both the shorthand and CASE statement approaches, along with a Pandas (Python) solution. - -```md # 📩 Confirmation Rate - LeetCode 1934 ## 📌 Problem Statement @@ -174,14 +171,3 @@ def confirmation_rate(signups: pd.DataFrame, confirmations: pd.DataFrame) -> pd. - 📝 [MySQL IFNULL Function](https://www.w3schools.com/sql/func_mysql_ifnull.asp) - 🔍 [MySQL ROUND Function](https://www.w3schools.com/sql/func_mysql_round.asp) - 🐍 [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) -``` - ---- - -### Features of this `README.md`: -- **Clear Problem Statement** with detailed table structures and examples. -- **SQL Solutions** with both a shorthand boolean expression and a CASE statement approach, complete with explanations. -- **Python (Pandas) Solution** with step-by-step instructions on merging, grouping, and calculating the confirmation rate. -- **Organized File Structure** and helpful external links for further learning. - -Let me know if you need any further modifications or additions! \ No newline at end of file From 5d578c397a099ed5f3500d904a3fab9c7e2f8ccb Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:59:57 +0530 Subject: [PATCH 338/353] Update readme.md --- .../readme.md | 159 ++++++++++++++++++ 1 file changed, 159 insertions(+) diff --git a/LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company/readme.md b/LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company/readme.md index e69de29..2fb26b2 100644 --- a/LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company/readme.md +++ b/LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company/readme.md @@ -0,0 +1,159 @@ +Below is a well-structured `README.md` for **LeetCode 1978 - Employees Whose Manager Left the Company**. It includes a detailed explanation of the SQL solution and a corresponding Python (Pandas) solution. + +```md +# 🏢 Employees Whose Manager Left the Company - LeetCode 1978 + +## 📌 Problem Statement +You are given a table **Employees** that contains information about employees, including their salary and the ID of the manager they report to. +When a manager leaves the company, their row is deleted from the **Employees** table, but the `manager_id` in the records of their reports still remains. + +Your task is to **find the IDs of employees** who: +- Have a salary **strictly less than $30000**. +- Have a **manager** (i.e., `manager_id` is not `NULL`) whose record is **missing** in the table (i.e., the manager left the company). + +Return the result table **ordered by `employee_id`** in ascending order. + +--- + +## 📊 Table Structure + +### **Employees Table** +| Column Name | Type | +| ----------- | ------- | +| employee_id | int | +| name | varchar | +| manager_id | int | +| salary | int | + +- `employee_id` is the **primary key**. +- `manager_id` may be `NULL` if an employee does not have a manager. +- When a manager leaves, their row is deleted, but the `manager_id` remains in the reports' records. + +--- + +## 📊 Example 1: + +### **Input:** +#### **Employees Table** +| employee_id | name | manager_id | salary | +| ----------- | --------- | ---------- | ------ | +| 3 | Mila | 9 | 60301 | +| 12 | Antonella | NULL | 31000 | +| 13 | Emery | NULL | 67084 | +| 1 | Kalel | 11 | 21241 | +| 9 | Mikaela | NULL | 50937 | +| 11 | Joziah | 6 | 28485 | + +### **Output:** +| employee_id | +| ----------- | +| 11 | + +### **Explanation:** +- **Employees with salary < $30000:** + - **Kalel (ID 1)** with salary 21241, whose manager is employee 11. + - **Joziah (ID 11)** with salary 28485, whose manager is employee 6. +- **Kalel's manager (ID 11)** is still in the table. +- **Joziah's manager (ID 6)** is missing from the table, meaning that manager left the company. +Thus, only **employee 11 (Joziah)** meets the criteria. + +--- + +## 🖥 SQL Solution + +### ✅ **Approach:** +1. **Self-Join:** + - Use a `LEFT JOIN` on the **Employees** table with itself to check if an employee's manager exists. + - Alias `e1` represents the employee, and alias `e2` represents the manager. +2. **Filter Conditions:** + - The employee's `salary` must be strictly less than 30000. + - The employee must have a manager (`e1.manager_id IS NOT NULL`). + - The join should fail for the manager (`e2.employee_id IS NULL`), indicating the manager left. +3. **Order the Result:** + - Order the final result by `employee_id`. + +### ✅ **SQL Query:** +```sql +SELECT e1.employee_id +FROM Employees AS e1 +LEFT JOIN Employees AS e2 ON e1.manager_id = e2.employee_id +WHERE e1.salary < 30000 + AND e1.manager_id IS NOT NULL + AND e2.employee_id IS NULL +ORDER BY e1.employee_id; +``` + +--- + +## 🐍 Python (Pandas) Solution + +### ✅ **Approach:** +1. **Self-Merge:** + - Merge the **Employees** DataFrame with itself on `manager_id` (from the employee side) and `employee_id` (from the manager side) using a left join. +2. **Filter Rows:** + - Keep rows where: + - `salary` is less than 30000. + - `manager_id` is not null. + - The merged manager information is missing (i.e., the manager left). +3. **Sort Result:** + - Sort the result by `employee_id`. + +### ✅ **Pandas Code:** +```python +import pandas as pd + +def employees_with_left_manager(employees: pd.DataFrame) -> pd.DataFrame: + # Perform a left merge on the Employees table to find existing managers + merged = employees.merge( + employees[['employee_id']], + left_on='manager_id', + right_on='employee_id', + how='left', + suffixes=('', '_manager') + ) + + # Filter: salary < 30000, manager_id is not null, and manager does not exist (NaN in employee_id_manager) + filtered = merged[ + (merged['salary'] < 30000) & + (merged['manager_id'].notnull()) & + (merged['employee_id_manager'].isna()) + ] + + # Select the required column and sort by employee_id + result = filtered[['employee_id']].sort_values('employee_id') + return result + +# Example usage: +# employees_df = pd.read_csv("employees.csv") +# print(employees_with_left_manager(employees_df)) +``` + +--- + +## 📁 File Structure +``` +📂 Employees-Manager-Left +│── README.md +│── solution.sql +│── solution_pandas.py +│── test_cases.sql +│── sample_data.csv +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/employees-whose-manager-left-the-company/) +- 🔍 [MySQL LEFT JOIN Documentation](https://www.w3schools.com/sql/sql_join_left.asp) +- 🐍 [Pandas Merge Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.merge.html) +``` + +--- + +### Features of this `README.md`: +- **Clear problem description** with table structure and an example. +- **SQL solution** with step-by-step explanation. +- **Python (Pandas) solution** with detailed code and explanation. +- **Organized file structure** and useful external links for further learning. + +Let me know if you need any further modifications or additions! \ No newline at end of file From a8cb4305909534ba704da41a3f18db8d8c9f2c56 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 12:00:08 +0530 Subject: [PATCH 339/353] Update readme.md --- .../readme.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company/readme.md b/LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company/readme.md index 2fb26b2..66aea43 100644 --- a/LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company/readme.md +++ b/LeetCode SQL 50 Solution/1978. Employees Whose Manager Left the Company/readme.md @@ -1,6 +1,3 @@ -Below is a well-structured `README.md` for **LeetCode 1978 - Employees Whose Manager Left the Company**. It includes a detailed explanation of the SQL solution and a corresponding Python (Pandas) solution. - -```md # 🏢 Employees Whose Manager Left the Company - LeetCode 1978 ## 📌 Problem Statement @@ -148,12 +145,3 @@ def employees_with_left_manager(employees: pd.DataFrame) -> pd.DataFrame: - 🐍 [Pandas Merge Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.merge.html) ``` ---- - -### Features of this `README.md`: -- **Clear problem description** with table structure and an example. -- **SQL solution** with step-by-step explanation. -- **Python (Pandas) solution** with detailed code and explanation. -- **Organized file structure** and useful external links for further learning. - -Let me know if you need any further modifications or additions! \ No newline at end of file From 57e97a3c62ebc5fc841d1ea4ac5085b21ac586b3 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 12:01:11 +0530 Subject: [PATCH 340/353] Update readme.md --- .../readme.md | 128 ++++++++++++++++++ 1 file changed, 128 insertions(+) diff --git a/LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher/readme.md b/LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher/readme.md index e69de29..d7a4983 100644 --- a/LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher/readme.md +++ b/LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher/readme.md @@ -0,0 +1,128 @@ +Below is a well-structured `README.md` for **LeetCode 2356 - Number of Unique Subjects Taught by Each Teacher**, which includes both the SQL solution and a Python (Pandas) solution. + +```md +# 📚 Number of Unique Subjects Taught by Each Teacher - LeetCode 2356 + +## 📌 Problem Statement +You are given a table **Teacher** that provides information about the subjects taught by teachers in various departments of a university. + +Your task is to calculate the **number of unique subjects** each teacher teaches. +Note that the table can have multiple rows for the same subject taught in different departments, but you should count each subject only once per teacher. + +Return the result table in **any order**. + +--- + +## 📊 Table Structure + +### **Teacher Table** +| Column Name | Type | +| ----------- | ---- | +| teacher_id | int | +| subject_id | int | +| dept_id | int | + +- `(subject_id, dept_id)` is the **primary key**. +- Each row indicates that the teacher with `teacher_id` teaches the subject `subject_id` in the department `dept_id`. + +--- + +## 📊 Example 1: + +### **Input:** +#### **Teacher Table** +| teacher_id | subject_id | dept_id | +| ---------- | ---------- | ------- | +| 1 | 2 | 3 | +| 1 | 2 | 4 | +| 1 | 3 | 3 | +| 2 | 1 | 1 | +| 2 | 2 | 1 | +| 2 | 3 | 1 | +| 2 | 4 | 1 | + +### **Output:** +| teacher_id | cnt | +| ---------- | --- | +| 1 | 2 | +| 2 | 4 | + +### **Explanation:** +- **Teacher 1:** + - Teaches subject **2** (in departments 3 and 4) and subject **3** (in department 3). + - Unique subjects = {2, 3} → **2 subjects**. +- **Teacher 2:** + - Teaches subjects **1**, **2**, **3**, and **4** (all in department 1). + - Unique subjects = {1, 2, 3, 4} → **4 subjects**. + +--- + +## 🖥 SQL Solution + +### ✅ **Approach:** +- Use `COUNT(DISTINCT subject_id)` to count the number of unique subjects taught by each teacher. +- Group the results by `teacher_id`. + +```sql +SELECT teacher_id, COUNT(DISTINCT subject_id) AS cnt +FROM Teacher +GROUP BY teacher_id; +``` + +--- + +## 🐍 Python (Pandas) Solution + +### ✅ **Approach:** +1. **Group by `teacher_id`:** + - Group the DataFrame by `teacher_id`. +2. **Count Unique Subjects:** + - Use the `nunique()` function on the `subject_id` column within each group to count unique subjects. +3. **Reset Index and Rename:** + - Reset the index and rename the column appropriately. + +```python +import pandas as pd + +def count_unique_subjects(teacher: pd.DataFrame) -> pd.DataFrame: + # Group by teacher_id and count unique subject_id values + result = teacher.groupby('teacher_id')['subject_id'].nunique().reset_index() + result = result.rename(columns={'subject_id': 'cnt'}) + return result + +# Example usage: +# teacher_df = pd.DataFrame({ +# 'teacher_id': [1, 1, 1, 2, 2, 2, 2], +# 'subject_id': [2, 2, 3, 1, 2, 3, 4], +# 'dept_id': [3, 4, 3, 1, 1, 1, 1] +# }) +# print(count_unique_subjects(teacher_df)) +``` + +--- + +## 📁 File Structure +``` +📂 Unique-Subjects-Per-Teacher +│── README.md +│── solution.sql +│── solution_pandas.py +│── test_cases.sql +│── sample_data.csv +``` + +--- + +## 🔗 Useful Links +- 📖 [LeetCode Problem](https://leetcode.com/problems/number-of-unique-subjects-taught-by-each-teacher/) +- 🔍 [MySQL COUNT(DISTINCT) Documentation](https://www.w3schools.com/sql/sql_count_distinct.asp) +- 🐍 [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) +``` + +This `README.md` provides: +- A **clear problem statement** along with the table structure. +- A **detailed example** with explanation. +- Both **SQL and Python (Pandas) solutions** with step-by-step approaches. +- An **organized file structure** and helpful external links. + +Let me know if you need any modifications! \ No newline at end of file From a0715298fc15f18fa05e8bad49f27a7d991a0223 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 12:01:19 +0530 Subject: [PATCH 341/353] Update readme.md --- .../readme.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher/readme.md b/LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher/readme.md index d7a4983..8f7040e 100644 --- a/LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher/readme.md +++ b/LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher/readme.md @@ -117,12 +117,3 @@ def count_unique_subjects(teacher: pd.DataFrame) -> pd.DataFrame: - 📖 [LeetCode Problem](https://leetcode.com/problems/number-of-unique-subjects-taught-by-each-teacher/) - 🔍 [MySQL COUNT(DISTINCT) Documentation](https://www.w3schools.com/sql/sql_count_distinct.asp) - 🐍 [Pandas GroupBy Documentation](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html) -``` - -This `README.md` provides: -- A **clear problem statement** along with the table structure. -- A **detailed example** with explanation. -- Both **SQL and Python (Pandas) solutions** with step-by-step approaches. -- An **organized file structure** and helpful external links. - -Let me know if you need any modifications! \ No newline at end of file From c33fa4f5cb65aad92fe0502d1f444beb586dfe0f Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 12:01:29 +0530 Subject: [PATCH 342/353] Update readme.md --- .../readme.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher/readme.md b/LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher/readme.md index 8f7040e..e752e35 100644 --- a/LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher/readme.md +++ b/LeetCode SQL 50 Solution/2356. Number of Unique Subjects Taught by Each Teacher/readme.md @@ -1,6 +1,3 @@ -Below is a well-structured `README.md` for **LeetCode 2356 - Number of Unique Subjects Taught by Each Teacher**, which includes both the SQL solution and a Python (Pandas) solution. - -```md # 📚 Number of Unique Subjects Taught by Each Teacher - LeetCode 2356 ## 📌 Problem Statement From 16ca2730fdcf3d42e05e60567f2c6f6f5d434405 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 12:06:47 +0530 Subject: [PATCH 343/353] Update readme.md --- .../prosnal_database/readme.md | 223 ++++++++++++++++++ 1 file changed, 223 insertions(+) diff --git a/LeetCode SQL 50 Solution/prosnal_database/readme.md b/LeetCode SQL 50 Solution/prosnal_database/readme.md index e69de29..3208f75 100644 --- a/LeetCode SQL 50 Solution/prosnal_database/readme.md +++ b/LeetCode SQL 50 Solution/prosnal_database/readme.md @@ -0,0 +1,223 @@ +Below is a well-structured `README.md` that documents the database schema, sample data, and queries for the provided SQL code. This file can be added to your repository for clarity and organization. + +```md +# Prosnal Database Example + +This repository contains SQL scripts for creating and populating a sample database called `prosnal_database`. The database includes multiple tables and queries demonstrating joins and calculations. The following sections describe the database schema, sample data insertion, and example queries. + +--- + +## Database and Tables + +### 1. Create and Use Database +```sql +CREATE DATABASE IF NOT EXISTS prosnal_database; +USE prosnal_database; +``` +- This command creates the database `prosnal_database` if it does not exist and sets it as the current working database. + +--- + +### 2. Employees Table +```sql +CREATE TABLE IF NOT EXISTS Employees ( + Id INT, + Name VARCHAR(255), + Salary INT, + Department VARCHAR(255) +); +``` +- **Description:** + Contains employee information such as `Id`, `Name`, `Salary`, and `Department`. + +#### Sample Data: +```sql +INSERT INTO Employees (Id, Name, Salary, Department) +VALUES (1, 'John Doe', 50000, 'HR'), + (2, 'Jane Smith', 60000, 'Finance'), + (3, 'Mike Johnson', 70000, 'IT'), + (4, 'Sarah Black', 60000, 'Finance'), + (5, 'David White', 70000, 'IT'); +``` + +--- + +### 3. Projects Table +```sql +CREATE TABLE IF NOT EXISTS Projects ( + Id INT, + Name VARCHAR(255), + Department VARCHAR(255) +); +``` +- **Description:** + Contains project details including project `Id`, `Name`, and the corresponding `Department`. + +#### Sample Data: +```sql +INSERT INTO Projects (Id, Name, Department) +VALUES (1, 'Project A', 'IT'), + (2, 'Project B', 'Finance'), + (3, 'Project C', 'IT'); +``` + +--- + +### 4. EmployeeProjects Table +```sql +CREATE TABLE IF NOT EXISTS EmployeeProjects ( + EmployeeId INT, + ProjectId INT +); +``` +- **Description:** + Associates employees with projects. + +#### Sample Data: +```sql +INSERT INTO EmployeeProjects (EmployeeId, ProjectId) +VALUES (1, 1), + (1, 2), + (2, 1), + (3, 1), + (3, 3), + (4, 2), + (5, 1); +``` + +--- + +### 5. Users and Sessions Tables +#### Users Table +```sql +CREATE TABLE users ( + id INT PRIMARY KEY, + name VARCHAR(50), + email VARCHAR(100) +); +``` +- **Description:** + Contains user information with unique `id`, `name`, and `email`. + +#### Sample Data: +```sql +INSERT INTO users (id, name, email) +VALUES (1, 'John Doe', 'john.doe@example.com'), + (2, 'Jane Smith', 'antima@example.com'); +``` + +#### Sessions Table +```sql +CREATE TABLE sessions ( + id INT PRIMARY KEY, + user_id INT, + session_date DATE +); +``` +- **Description:** + Records session data with session `id`, associated `user_id`, and the `session_date`. + +#### Sample Data: +```sql +INSERT INTO sessions (id, user_id, session_date) +VALUES (1, 1, '2022-01-01'), + (2, 1, '2022-01-02'), + (3, 2, '2022-01-03'); +``` + +--- + +### 6. Products and Orders Tables +#### Products Table +```sql +CREATE TABLE IF NOT EXISTS products ( + id INT PRIMARY KEY, + name VARCHAR(50), + price DECIMAL(10, 2) +); +``` +- **Description:** + Contains product details such as `id`, `name`, and `price`. + +#### Sample Data: +```sql +INSERT INTO products (id, name, price) +VALUES (1, 'Product A', 10.99), + (2, 'Product B', 20.99), + (3, 'Product C', 30.99); +``` + +#### Orders Table +```sql +CREATE TABLE IF NOT EXISTS orders ( + id INT PRIMARY KEY, + product_id INT, + quantity INT +); +``` +- **Description:** + Stores order details including order `id`, associated `product_id`, and order `quantity`. + +#### Sample Data: +```sql +INSERT INTO orders (id, product_id, quantity) +VALUES (1, 1, 5), + (2, 2, 3), + (3, 3, 1), + (4, 1, 2), + (5, 2, 4); +``` + +--- + +## Example Queries + +### Query 1: List Employee Projects +Join the **Employees**, **EmployeeProjects**, and **Projects** tables to list each employee's project details. +```sql +SELECT e.Name AS EmployeeName, e.Department, p.Name AS ProjectName, p.Department +FROM Employees e +JOIN EmployeeProjects ep ON e.Id = ep.EmployeeId +JOIN Projects p ON ep.ProjectId = p.Id; +``` + +### Query 2: List User Sessions +Join the **users** and **sessions** tables to list the session dates for each user. +```sql +SELECT u.name AS user_name, s.session_date +FROM users u +JOIN sessions s ON u.id = s.user_id; +``` + +### Query 3: Calculate Order Totals +Join the **products** and **orders** tables to calculate the total price for each order. +```sql +SELECT p.name AS product_name, o.quantity, p.price * o.quantity AS total_price +FROM products p +JOIN orders o ON p.id = o.product_id; +``` + +--- + +## File Structure +``` +Prosnal_Database/ +│── README.md +│── schema.sql -- Contains all CREATE TABLE and INSERT statements. +│── queries.sql -- Contains sample SELECT queries. +│── sample_data.csv -- (Optional) CSV files for sample data. +``` + +--- + +## Useful Links +- [MySQL Documentation](https://dev.mysql.com/doc/) +- [W3Schools SQL Tutorial](https://www.w3schools.com/sql/) +- [Pandas Documentation](https://pandas.pydata.org/docs/) + +--- + +This `README.md` provides a comprehensive overview of the database creation, data insertion, and query examples. Let me know if you need any modifications or further details! +``` + +This documentation should help users understand the purpose of each table and query, and it organizes your code in a clear and accessible way. \ No newline at end of file From 7f863520404354a62925de32ff8e450ca2d54534 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 12:11:16 +0530 Subject: [PATCH 344/353] Update readme.md --- LeetCode SQL 50 Solution/prosnal_database/readme.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/LeetCode SQL 50 Solution/prosnal_database/readme.md b/LeetCode SQL 50 Solution/prosnal_database/readme.md index 3208f75..2fed417 100644 --- a/LeetCode SQL 50 Solution/prosnal_database/readme.md +++ b/LeetCode SQL 50 Solution/prosnal_database/readme.md @@ -1,6 +1,4 @@ -Below is a well-structured `README.md` that documents the database schema, sample data, and queries for the provided SQL code. This file can be added to your repository for clarity and organization. -```md # Prosnal Database Example This repository contains SQL scripts for creating and populating a sample database called `prosnal_database`. The database includes multiple tables and queries demonstrating joins and calculations. The following sections describe the database schema, sample data insertion, and example queries. From d332ac2cd65f0b00dd6581a3ce3f9a49ff8cfd83 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 12:25:15 +0530 Subject: [PATCH 345/353] Update prosnal_database.py --- .../prosnal_database/prosnal_database.py | 141 ++++++++++++++++++ 1 file changed, 141 insertions(+) diff --git a/LeetCode SQL 50 Solution/prosnal_database/prosnal_database.py b/LeetCode SQL 50 Solution/prosnal_database/prosnal_database.py index e69de29..96e3009 100644 --- a/LeetCode SQL 50 Solution/prosnal_database/prosnal_database.py +++ b/LeetCode SQL 50 Solution/prosnal_database/prosnal_database.py @@ -0,0 +1,141 @@ +Below is a complete Python solution using a class with methods to solve the problem with Pandas. This code creates the data (mimicking the SQL tables), then provides methods to run each query. + +```python +import pandas as pd + +class ProsnalDatabase: + def __init__(self): + # Create tables (as Pandas DataFrames) + self.create_tables() + + def create_tables(self): + # Employees Table + self.employees = pd.DataFrame({ + 'Id': [1, 2, 3, 4, 5], + 'Name': ['John Doe', 'Jane Smith', 'Mike Johnson', 'Sarah Black', 'David White'], + 'Salary': [50000, 60000, 70000, 60000, 70000], + 'Department': ['HR', 'Finance', 'IT', 'Finance', 'IT'] + }) + + # Projects Table + self.projects = pd.DataFrame({ + 'Id': [1, 2, 3], + 'Name': ['Project A', 'Project B', 'Project C'], + 'Department': ['IT', 'Finance', 'IT'] + }) + + # EmployeeProjects Table + self.employee_projects = pd.DataFrame({ + 'EmployeeId': [1, 1, 2, 3, 3, 4, 5], + 'ProjectId': [1, 2, 1, 1, 3, 2, 1] + }) + + # Users Table + self.users = pd.DataFrame({ + 'id': [1, 2], + 'name': ['John Doe', 'Jane Smith'], + 'email': ['john.doe@example.com', 'antima@example.com'] + }) + + # Sessions Table + self.sessions = pd.DataFrame({ + 'id': [1, 2, 3], + 'user_id': [1, 1, 2], + 'session_date': pd.to_datetime(['2022-01-01', '2022-01-02', '2022-01-03']) + }) + + # Products Table + self.products = pd.DataFrame({ + 'id': [1, 2, 3], + 'name': ['Product A', 'Product B', 'Product C'], + 'price': [10.99, 20.99, 30.99] + }) + + # Orders Table + self.orders = pd.DataFrame({ + 'id': [1, 2, 3, 4, 5], + 'product_id': [1, 2, 3, 1, 2], + 'quantity': [5, 3, 1, 2, 4] + }) + + def query_employee_projects(self): + """ + Returns a DataFrame that lists each employee's project details. + This joins the Employees, EmployeeProjects, and Projects DataFrames. + """ + # Merge Employees with EmployeeProjects + emp_proj = self.employees.merge( + self.employee_projects, left_on='Id', right_on='EmployeeId' + ) + # Merge with Projects to get project details + emp_proj = emp_proj.merge( + self.projects, left_on='ProjectId', right_on='Id', suffixes=('_Employee', '_Project') + ) + # Select and rename desired columns + result = emp_proj[['Name_Employee', 'Department_Employee', 'Name_Project', 'Department_Project']] + result = result.rename(columns={ + 'Name_Employee': 'EmployeeName', + 'Department_Employee': 'EmployeeDepartment', + 'Name_Project': 'ProjectName', + 'Department_Project': 'ProjectDepartment' + }) + return result + + def query_user_sessions(self): + """ + Returns a DataFrame that lists the session dates for each user. + This joins the Users and Sessions DataFrames. + """ + user_sessions = self.users.merge( + self.sessions, left_on='id', right_on='user_id' + ) + result = user_sessions[['name', 'session_date']].rename(columns={'name': 'user_name'}) + return result + + def query_order_totals(self): + """ + Returns a DataFrame that calculates the total price for each order. + This joins the Products and Orders DataFrames and computes total price = price * quantity. + """ + orders_merged = self.orders.merge( + self.products, left_on='product_id', right_on='id' + ) + orders_merged['total_price'] = orders_merged['price'] * orders_merged['quantity'] + result = orders_merged[['name', 'quantity', 'total_price']].rename(columns={'name': 'product_name'}) + return result + +# Example usage: +if __name__ == '__main__': + db = ProsnalDatabase() + + print("Employee Projects:") + print(db.query_employee_projects(), "\n") + + print("User Sessions:") + print(db.query_user_sessions(), "\n") + + print("Order Totals:") + print(db.query_order_totals()) +``` + +### Explanation: +- **Class Initialization (`__init__`)**: + The `ProsnalDatabase` class initializes by calling `create_tables()`, which creates sample DataFrames for all tables. + +- **`create_tables()`**: + This method creates DataFrames for `Employees`, `Projects`, `EmployeeProjects`, `Users`, `Sessions`, `Products`, and `Orders` with sample data. + +- **Query Methods**: + - **`query_employee_projects()`**: + Merges the `employees`, `employee_projects`, and `projects` DataFrames to show which employee works on which project. Columns are renamed for clarity. + + - **`query_user_sessions()`**: + Merges the `users` and `sessions` DataFrames to list session dates for each user. + + - **`query_order_totals()`**: + Merges the `orders` DataFrame with the `products` DataFrame and calculates the total price for each order. + +- **Main Block**: + An instance of `ProsnalDatabase` is created, and the query methods are executed to display results. + +This modular, class-based approach using Pandas helps encapsulate data and query logic in a single, easy-to-manage unit. Let me know if you need any further modifications! \ No newline at end of file From 10e5bb9b769006926305f65930c341cbc23f2b5c Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 12:57:21 +0530 Subject: [PATCH 346/353] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 52adbb5..2a3e6b9 100644 --- a/README.md +++ b/README.md @@ -50,5 +50,5 @@ Feel free to fork this repository, suggest improvements, or submit your own solu ### Progress -🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜⬜⬜⬜⬜ 75% +🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 100% From 42a07b87a3b97ca6b27db90e0a5cf2b9342e36db Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Mon, 31 Mar 2025 12:58:37 +0530 Subject: [PATCH 347/353] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2a3e6b9..42d93d3 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ Feel free to fork this repository, suggest improvements, or submit your own solu ## Solved LeetCode SQL 50 Question - + ### Progress From 095d118eee83ddd70953140bba1f24e2288f4ec8 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Fri, 25 Apr 2025 15:02:31 +0530 Subject: [PATCH 348/353] Create topic.yml --- .github/workflows/topic.yml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/topic.yml diff --git a/.github/workflows/topic.yml b/.github/workflows/topic.yml new file mode 100644 index 0000000..78e0a1e --- /dev/null +++ b/.github/workflows/topic.yml @@ -0,0 +1,35 @@ +# Visit https://github.com/lowlighter/metrics#-documentation for full reference +name: Followup +on: + # Schedule updates (daily) + schedule: [{ cron: "0 0 * * *" }] + # Lines below let you run workflow manually and on each commit + workflow_dispatch: + push: { branches: ["master", "main"] } +jobs: + github-metrics: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - uses: lowlighter/metrics@latest + with: + # Your GitHub token + # The following scopes are required: + # - public_access (default scope) + # The following additional scopes may be required: + # - read:org (for organization related metrics) + # - read:user (for user related data) + # - read:packages (for some packages related data) + # - repo (optional, if you want to include private repositories) + token: ${{ secrets.METRICS_TOKEN }} + + # Options + user: iamAntimPal + template: classic + base: header, activity, community, repositories, metadata + config_timezone: Germany/Berlin + plugin_followup: yes + plugin_followup_sections: repositories, user + plugin_followup_indepth: yes + plugin_followup_archived: no From 17cb9ca67cbdb6bc9ad1599737ae7fd66b28a605 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Fri, 25 Apr 2025 15:08:04 +0530 Subject: [PATCH 349/353] Update topic.yml --- .github/workflows/topic.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/topic.yml b/.github/workflows/topic.yml index 78e0a1e..6147ccf 100644 --- a/.github/workflows/topic.yml +++ b/.github/workflows/topic.yml @@ -22,6 +22,7 @@ jobs: # - read:user (for user related data) # - read:packages (for some packages related data) # - repo (optional, if you want to include private repositories) + filename: SVG/followup.svg token: ${{ secrets.METRICS_TOKEN }} # Options From 544d7fad58c6624e6bad6fc7b88aeb5e894535ff Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Fri, 25 Apr 2025 15:08:42 +0530 Subject: [PATCH 350/353] Create README.MD --- SVG/README.MD | 1 + 1 file changed, 1 insertion(+) create mode 100644 SVG/README.MD diff --git a/SVG/README.MD b/SVG/README.MD new file mode 100644 index 0000000..941fc48 --- /dev/null +++ b/SVG/README.MD @@ -0,0 +1 @@ +# SVG From e5ffe778ae1ce2bb72d7c6db4d2c85aed59b9930 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Fri, 25 Apr 2025 15:26:36 +0530 Subject: [PATCH 351/353] Update topic.yml --- .github/workflows/topic.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/topic.yml b/.github/workflows/topic.yml index 6147ccf..f706f8d 100644 --- a/.github/workflows/topic.yml +++ b/.github/workflows/topic.yml @@ -23,7 +23,7 @@ jobs: # - read:packages (for some packages related data) # - repo (optional, if you want to include private repositories) filename: SVG/followup.svg - token: ${{ secrets.METRICS_TOKEN }} + token: ${{ secrets.GH_METRICS_TOKEN }} # Options user: iamAntimPal From e92547c96bd52235bf252811e9ceb65c25f010a2 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Fri, 25 Apr 2025 20:47:03 +0530 Subject: [PATCH 352/353] Update and rename topic.yml to followup.yml --- .github/workflows/followup.yml | 55 ++++++++++++++++++++++++++++++++++ .github/workflows/topic.yml | 36 ---------------------- 2 files changed, 55 insertions(+), 36 deletions(-) create mode 100644 .github/workflows/followup.yml delete mode 100644 .github/workflows/topic.yml diff --git a/.github/workflows/followup.yml b/.github/workflows/followup.yml new file mode 100644 index 0000000..5bcaaa8 --- /dev/null +++ b/.github/workflows/followup.yml @@ -0,0 +1,55 @@ +name: Generate Followup Metrics + +on: + schedule: + - cron: "0 0 * * *" # 5:30 AM IST + - cron: "30 5 * * *" # 10:00 AM IST + - cron: "30 11 * * *" # 4:00 PM IST + workflow_dispatch: + +jobs: + generate-metrics: + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write + + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Install Dependencies + run: | + sudo apt-get update + sudo apt-get install -y docker.io jq + + - name: Generate Metrics SVG + uses: lowlighter/metrics@latest + with: + filename: SVG/followup.svg + token: ${{ secrets.GH_METRICS_TOKEN }} + user: iamAntimPal + base: "" + template: classic + config_timezone: Asia/Kolkata + plugin_followup: yes + plugin_followup_sections: repositories, user + plugin_followup_indepth: yes + plugin_followup_archived: no + + - name: Commit and Push Changes + run: | + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + git checkout -b update-followup-metrics + git add SVG/followup.svg + git commit -m "Update followup.svg [skip ci]" + git push origin update-followup-metrics + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v6 + with: + token: ${{ secrets.GH_METRICS_TOKEN }} + branch: update-followup-metrics + title: "chore: update followup metrics" + body: "Auto-generated followup metrics SVG" diff --git a/.github/workflows/topic.yml b/.github/workflows/topic.yml deleted file mode 100644 index f706f8d..0000000 --- a/.github/workflows/topic.yml +++ /dev/null @@ -1,36 +0,0 @@ -# Visit https://github.com/lowlighter/metrics#-documentation for full reference -name: Followup -on: - # Schedule updates (daily) - schedule: [{ cron: "0 0 * * *" }] - # Lines below let you run workflow manually and on each commit - workflow_dispatch: - push: { branches: ["master", "main"] } -jobs: - github-metrics: - runs-on: ubuntu-latest - permissions: - contents: write - steps: - - uses: lowlighter/metrics@latest - with: - # Your GitHub token - # The following scopes are required: - # - public_access (default scope) - # The following additional scopes may be required: - # - read:org (for organization related metrics) - # - read:user (for user related data) - # - read:packages (for some packages related data) - # - repo (optional, if you want to include private repositories) - filename: SVG/followup.svg - token: ${{ secrets.GH_METRICS_TOKEN }} - - # Options - user: iamAntimPal - template: classic - base: header, activity, community, repositories, metadata - config_timezone: Germany/Berlin - plugin_followup: yes - plugin_followup_sections: repositories, user - plugin_followup_indepth: yes - plugin_followup_archived: no From 9846b7fa447e6f688d37683e23c5926b1dae3232 Mon Sep 17 00:00:00 2001 From: Antim Pal <134076504+iamAntimPal@users.noreply.github.com> Date: Fri, 25 Apr 2025 20:49:40 +0530 Subject: [PATCH 353/353] Update followup.yml --- .github/workflows/followup.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/followup.yml b/.github/workflows/followup.yml index 5bcaaa8..40c44fb 100644 --- a/.github/workflows/followup.yml +++ b/.github/workflows/followup.yml @@ -21,7 +21,8 @@ jobs: - name: Install Dependencies run: | sudo apt-get update - sudo apt-get install -y docker.io jq + sudo apt-get remove -y containerd + sudo apt-get install -y docker.io jq containerd.io - name: Generate Metrics SVG uses: lowlighter/metrics@latest

SWg^Rno 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∓vGial(OaKI5#zWB1&~L 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