【发布时间】:2018-09-23 00:20:39
【问题描述】:
是否可以使用 dplyr::sample_n() 之类的函数从数据库中选择随机(或伪随机)子集,但在 dbplyr 或另一个运行 SQL 查询的 R 包中?
目的是在从数据库运行耗时的数据提取之前测试小批量的查询。
【问题讨论】:
-
这可能是您的解决方法 (nuitrcs.github.io/databases_workshop/r/…)。
是否可以使用 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;")
【讨论】: