如何使用 r 中的 dplyr 查询数据库中的 ID 列表
How to query list of Id's in Database using dplyr in r
我刚开始使用 r 来操作数据库中的数据
我想知道如何查询数据库中的 Id 列表table
我想要一个查询 returns 如果找到 Id 的所有记录
以前我用下面的代码只查询一个id
start_1<-tbl(connect, "accountbits")%>%
filter(Tranx_id == "2022011813250866101336997")%>%
collect()
所以它显示了带有 ID 附加详细信息的查询。
我想有很多 id,如下例所示
start_2<-tbl(connect, "accountbits")%>%
filter(Tranx_id = c("2022011813250866101336997","20220115675250866101336997"
"202201181325086610143246997","2022015433250866101336997")%>%
collect()
我想让它把所有附加到数据库中的这个id的记录都带进来
谢谢
您要查找的 R 运算符是 %in%
。这检查集合交集:
c(1,3,5) %in% c(1,2,3,4)
# = (TRUE, TRUE, FALSE)
因为 1 和 3 在 c(1,2,3,4)
.
您可以在控制台输入 ?`%in%`
来获取有关此运算符的帮助信息(`
是反引号,位于更多键盘左上角数字 1 的旁边)。
已为 %in%
定义了 dbplyr 翻译,因此命令如下:
start_2 <- tbl(connect, "accountbits")%>%
filter(Tranx_id %in% c("1234","2345","3456"))
将翻译成 SQL 如:
SELECT *
FROM accountbits
WHERE Tranx_id IN (1234, 2345, 3456)
和 collect()
将按预期将这些值拉入本地 R 内存。
我刚开始使用 r 来操作数据库中的数据
我想知道如何查询数据库中的 Id 列表table
我想要一个查询 returns 如果找到 Id 的所有记录
以前我用下面的代码只查询一个id
start_1<-tbl(connect, "accountbits")%>%
filter(Tranx_id == "2022011813250866101336997")%>%
collect()
所以它显示了带有 ID 附加详细信息的查询。
我想有很多 id,如下例所示
start_2<-tbl(connect, "accountbits")%>%
filter(Tranx_id = c("2022011813250866101336997","20220115675250866101336997"
"202201181325086610143246997","2022015433250866101336997")%>%
collect()
我想让它把所有附加到数据库中的这个id的记录都带进来
谢谢
您要查找的 R 运算符是 %in%
。这检查集合交集:
c(1,3,5) %in% c(1,2,3,4)
# = (TRUE, TRUE, FALSE)
因为 1 和 3 在 c(1,2,3,4)
.
您可以在控制台输入 ?`%in%`
来获取有关此运算符的帮助信息(`
是反引号,位于更多键盘左上角数字 1 的旁边)。
已为 %in%
定义了 dbplyr 翻译,因此命令如下:
start_2 <- tbl(connect, "accountbits")%>%
filter(Tranx_id %in% c("1234","2345","3456"))
将翻译成 SQL 如:
SELECT *
FROM accountbits
WHERE Tranx_id IN (1234, 2345, 3456)
和 collect()
将按预期将这些值拉入本地 R 内存。