https://www.youtube.com/watch?v=FZ0GCcnIIWA&list=PLBTZqjSKn0IfuIqbMIqzS-waofsPHMS0E&index=2
-- Create table 'tickets'
CREATE TABLE tickets (
ticket_id VARCHAR(10),
create_date DATE,
resolved_date DATE
);
-- Delete existing data from 'tickets'
DELETE FROM tickets;
-- Insert data into 'tickets'
INSERT INTO tickets VALUES
(1, '2022-08-01', '2022-08-03'),
(2, '2022-08-01', '2022-08-12'),
(3, '2022-08-01', '2022-08-16');
-- Create table 'holidays'
CREATE TABLE holidays (
holiday_date DATE,
reason VARCHAR(100)
);
-- Delete existing data from 'holidays'
DELETE FROM holidays;
-- Insert data into 'holidays'
INSERT INTO holidays VALUES
('2022-08-11', 'Rakhi'),
('2022-08-15', 'Independence Day');
DATEDIFF() - datediff(date2, date1)
DATEPART() - datepart(week,date2,date1)
(Doesn't Exist in mysql)
SUBQUERY
SELECT
*,
DATEDIFF(resolved_date, create_date) AS Actual_Days,
DATEDIFF(resolved_date, create_date) - 2 *
FLOOR(DATEDIFF(resolved_date, create_date) / 7) - No_Of_Holidays AS
Business_Days
FROM
(SELECT
ticket_id,
create_date,
resolved_date,
COUNT(holiday_date) AS No_Of_Holidays
FROM
tickets t
LEFT JOIN holidays h ON holiday_date BETWEEN create_date AND resolved_date
GROUP BY ticket_id , create_date , resolved_date) H;