Случайная выборка базы данных с использованием sample_n() с помощью dbplyr
Можно ли выбрать случайное (или псевдослучайное) подмножество из базы данных, используя функцию типа dplyr::sample_n(), но в dbplyr или другом R-пакете, который выполняет SQL-запросы?
Цель состоит в том, чтобы тестировать запросы небольшими партиями, прежде чем выполнять длительное извлечение данных из базы данных.
1 ответ
Решение
Кажется, это работает для нашего сервера MySQL:
dbGetQuery(con,
"SELECT *
FROM data_table_name
ORDER BY RAND()
LIMIT 500;")
Для SQLite вы можете попробовать это:
DBI::dbGetQuery(con, "SELECT * FROM table ORDER BY RANDOM() LIMIT 1;")