如何使用 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 内存。