Случайная выборка базы данных с использованием 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;")
Другие вопросы по тегам