Я пытаюсь объединить даты выходных, используя datename.
ТАБЛИЦА
Поэтому я использую DATENAME и конвертирую даты в день недели.
Затем я могу посчитать их, чтобы это выглядело так
Но я не знаю, как их сгруппировать, чтобы это выглядело как
Вы можете использовать запрос выбора, чтобы выбрать то, что у вас есть, в качестве внутреннего запроса для получения результата.


Вот несколько способов сделать это. Вы заметите, что для версии COUNT вам нужно вернуть NULL, поэтому функция COUNT() не будет ее считать. Вы также можете использовать SUM(). Есть и другие способы сделать это.
DECLARE @x TABLE (mydate DATE);
INSERT INTO @x SELECT '11-25-2018'; --Sunday
INSERT INTO @x SELECT '11-24-2018'; --Saturday
INSERT INTO @x SELECT '11-25-2018'; --Sunday
INSERT INTO @x SELECT '11-23-2018'; --Friday
SELECT count(CASE WHEN DATEPART(dw, mydate) BETWEEN 2 and 6 THEN NULL ELSE 1 END ) AS CountOfWeekendDays
,sum(CASE WHEN DATEPART(dw, mydate) BETWEEN 2 and 6 THEN 1 ELSE 0 END) AS SumOfWeekDays
,sum(CASE WHEN DATEPART(dw, mydate) BETWEEN 2 and 6 THEN 0 ELSE 1 END) AS SumOfWeekendDays
FROM @x
Что это у нас есть SET DATEFIRST 1 -- MONDAY? 2 и 6 затем необходимо заменить на 6 и 7.
Чтобы получить общее количество выходных дней
SELECT COUNT(*) as totalweekdays FROM tablename
WHERE
DATENAME(weekday, datecolumn) = 'Saturday'
OR
DATENAME(weekday, datecolumn) = 'Sunday'
Вы должны сгруппировать по дате (день недели), чтобы получить необходимый результат.
create table t(date_of_hire date);
insert into t values('2018-11-25');
insert into t values('2018-11-24');
insert into t values('2018-11-25');
select datename(weekday,date_of_hire) as day_of_week,count(*) as cnt
from t
group by datename(weekday,date_of_hire)
Вероятно, лучше всего выбрать, где вы собираете все даты, где ДАТА == 'Воскресенье' ИЛИ ДАТА == 'Суббота', а затем просто суммируете это и выводите в виде таблицы с одной записью