У меня есть таблица данных в MS Access как таковая:
[DateID] |[NameID]|[ValueID]
01/01/2019 |Ben |5
01/01/2019 |Ace |6
01/01/2019 |Ken |7
01/01/2019 |Jon |10
.
.
.
03/01/2019 |Ben |8
03/01/2019 |Ken |55
03/01/2019 |Jan |52
В основном несколько ValueID
записей в один день под разными именами, по крайней мере 100+ записей в день.
Мне нужно вывести среднее значение ValueID
по рабочим дням для двух конкретных дат, и код sql выполняется через Excel VB.Пока что код sql не может различать будние и выходные дни.
Код, который у меня есть, работает до сих пор: SELECT AVG([ValueID]) FROM [TABLE] WHERE [DATEID] BETWEEN #10 Jan 2018# AND #15 Feb 2018#
Немного обыскал все вокруг.Самое близкое, что я получил, это SELECT AVG([ValueID]) FROM [TABLE] WHERE ([DATEID] BETWEEN #10 Jan 2018# AND #15 Feb 2018#) AND DATENAME(WEEKDAY, [DATEID]) IN ('MONDAY','TUESDAY','WEDNESDAY','THURSDAY','FRIDAY')
Однако, это дает мне ошибку Undefined function 'DATENAME' in expression
.Не уверен, правильно ли я использую эту функцию, если я полностью честен.
Я понимаю, что технически могу экспортировать диапазон дат в таблицу Excel, а затем исключить его, но это может быть экспорт из данных с массой 10 000+.Поэтому предпочел бы сделать это через sql, так как это выглядит чище.