Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Sep 8, 2025. It is now read-only.

Commit cc7cdca

Browse files
updating sql queries
Mysql branch brings updates
2 parents 320fb1f + c65e2a2 commit cc7cdca

File tree

4 files changed

+51
-37
lines changed

4 files changed

+51
-37
lines changed

‎MySQL/consecutive-numbers.sql‎

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,11 @@
1+
/*
12
# Time: O(n)
23
# Space: O(n)
4+
*/
35

4-
SELECT DISTINCT(Num) AS ConsecutiveNums
5-
FROM (
6-
SELECT
7-
Num,
8-
@counter := IF(@prev = Num, @counter + 1, 1) AS how_many_cnt_in_a_row,
9-
@prev := Num
10-
FROM Logs y, (SELECT @counter:=1, @prev:=NULL) vars
11-
) sq
12-
WHERE how_many_cnt_in_a_row >= 3
13-
14-
SELECT DISTINCT l1.Num as ConsecutiveNums
15-
FROM Logs l1, Logs l2, Logs l3
16-
WHERE l1.Id + 1 = l2.Id AND l2.Id + 1 = l3.Id AND l1.Num = l2.Num AND l2.Num = l3.Num
6+
/** this is a ms sql script **/
177

8+
/* Write your T-SQL query statement below */
9+
SELECT DISTINCT l1.num AS ConsecutiveNums
10+
FROM Logs l1, Logs l2, Logs l3
11+
WHERE l1.id = l2.id - 1 AND l2.id = l3.id - 1 AND l1.num = l2.num AND l2.num = l3.num;

‎MySQL/duplicate-emails.sql‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Time: O(n^2)
22
# Space: O(n)
33

4-
SELECT Email FROM Person GROUP BY Email HAVING COUNT(*) > 1
4+
/** # Write your MySQL query statement below **/
5+
6+
SELECT Email
7+
FROM Person
8+
GROUP BY Email
9+
HAVING COUNT(*) > 1
510

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
# Time: O(n^2)
22
# Space: O(1)
33

4-
SELECT e.Name AS Employee FROM Employee e LEFT JOIN Employee b
5-
ON e.ManagerId=b.Id
6-
WHEREe.Salary>b.Salary
7-
8-
SELECT Name AS Employee
9-
FROM Employee e
10-
WHEREe.ManagerIdIS NOT NULLANDe.Salary> (SELECT Salary
11-
FROM Employee
12-
WHERE e.ManagerId= Id)
4+
SELECT e.Name AS Employee FROM Employee e LEFT JOIN Employee b
5+
ON e.ManagerId=b.IdWHEREe.Salary>b.Salary
6+
7+
/** # Write your MySQL query statement below **/
8+
/** solution two **/
9+
10+
SELECTe.nameAS employee
11+
FROM employee AS e JOIN employee AS e1 ONe.managerid=e1.id
12+
WHERE e.salary>e1.salary;
1313

‎MySQL/product-price-at-a-given-date.sql‎

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,32 @@
1+
/*
12
# Time: O(mlogn), m is the number of unique product id, n is the number of changed dates
23
# Space: O(m)
4+
*/
5+
6+
SELECT
7+
t1.product_id AS product_id,
8+
IF(ISNULL(t2.price), 10, t2.price) AS price
9+
FROM
10+
(SELECT DISTINCT product_id
11+
FROM products) AS t1
12+
LEFT JOIN
13+
(SELECT
14+
product_id,
15+
new_price AS price
16+
FROM
17+
products
18+
WHERE
19+
(product_id, change_date) IN
20+
(SELECT
21+
product_id,
22+
MAX(change_date)
23+
FROM
24+
products
25+
WHERE
26+
change_date <= '2019年08月16日'
27+
GROUP BY
28+
product_id)
29+
) AS t2
30+
ON
31+
t1.product_id = t2.product_id;
332

4-
SELECT t1.product_id AS product_id,
5-
IF(Isnull(t2.price), 10, t2.price) AS price
6-
FROM (SELECT DISTINCT product_id
7-
FROM products) AS t1
8-
left join (SELECT product_id,
9-
new_price AS price
10-
FROM products
11-
WHERE ( product_id, change_date ) IN (SELECT product_id,
12-
Max(change_date)
13-
FROM products
14-
WHERE change_date <= '2019年08月16日'
15-
GROUP BY product_id))
16-
AS t2
17-
ON t1.product_id = t2.product_id

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /