Medium: Question 5
user_0571526250
mysql
3 years ago
570 B
3
Indexable
/* Question 5: Medium Part */ SELECT start_date, ADDDATE(start_date, days) AS end_date FROM (SELECT s.start_date, MIN(DATEDIFF(e.end_date, s.start_date)) AS days FROM (SELECT start_date FROM projects WHERE start_date NOT IN (SELECT end_date FROM projects) ) s CROSS JOIN (SELECT end_date FROM projects WHERE end_date NOT IN (SELECT start_date FROM projects) ) e WHERE s.start_date < e.end_date GROUP BY s.start_date) AS RESULT ORDER BY days, start_date;
Editor is loading...