Everyday работник болен, запись добавляется
Моя таблица выглядит следующим образом (пример):Группировка дат для каждого периода
Name - Date
Ben - 14/01/2016
Ben - 15/01/2016
Ben - 18/01/2016
Ben - 19/01/2016
Ben - 02/02/2016
Ben - 03/02/2016
Bart - 12/01/2016
Bart - 13/01/2016
Bart - 14/01/2016
Lisa - 26/02/2016
Lisa - 29/02/2016
Lisa - 01/03/2016
Что мне нужно:
Name - StartDate - NumberOfDays
Ben - 14/01/2016 - 4 (so 4 following dates (including a weekend))
Ben - 02/02/2016 - 2
Bart - 12/01/2016 - 3
Lisa - 26/02/2016 - 3
Так сгруппированных по имени и периоду, а также указать дату начала и количество дней периода.
Я не знаю, как начать и даже если это возможно в SQL.
Проблема заключается в том, что период может включать в выходные дни, так что я думаю, что нужны таблицы даты в выходные дни и праздники проверить (потому что просто принимая ==>(difference current.date-previous.date) <= 3
будет возможно сделать один период фактического два периода, когда 3 дни не выходные)?
Надеюсь, я хорошо объяснил свою проблему. Вся помощь очень ценится!
MySQL и SQL Server имеют разную обработку даты и времени. Не помещайте продукты, которые не задействованы ... – jarlh
Как насчет национальных праздников? – jarlh
Если у вас есть таблица времени, добавьте в нее еще один столбец, который будет оценивать каждую строку и фильтровать выходные дни, так что столбец ранга будет постоянно – sagi