是否可以使用dplyr :: sample_n()之类的函数从数据库中选择随机(或伪随机)子集,但是在dbplyr或运行SQL查询的另一个R包中?
目的是在从数据库运行时间密集型数据之前测试小批量的查询。
这似乎适用于我们的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;")