Вы можете использовать оператор BETWEEN в SQL для проверки диапазона дат.
where date between '%s' and '%s'
И вы можете использовать оператор IN, чтобы проверить наличие элемента в списке.
and sector in ('%s', '%s', ...)
Вы можете создать строку символов со всеми вашими секторами в R, заключенными в двойные кавычки и разделенными запятыми, выполнив следующую инструкцию, поэтому ее легко вставить в запрос SQL.
sector.list <- paste0(sapply(sect, function(x) paste0("'", x, "'")), collapse = ", ")
print(sector.list)
Вывод
[1] "'Healthcare', 'Basic Materials', 'Utilities', 'Financial Services', 'Technology', 'Consumer', 'Defensive', 'Industrials', 'Communication Services', 'Energy', 'Real Estate', 'Consumer Cyclical', 'NULL'"
То же самое относится к mcap
.
**** Относительно извлечения среднего или других агрегатов *** Теперь, если вы этого не сделаете Если вам нужны все подробности из базы данных, а просто среднее или заданный столбец, вы можете сгруппировать данные по нужным полям (дата, сектор и mcap) и извлечь среднее значение, например:
SELECT avg(desired_column)
FROM (... your query here...)
GROUP BY data, sector, mcap
Выполнение Вводный курс по SQL настоятельно рекомендуется.