Postgresql dplyr:将bigint作为文本列加载

我已连接到数据库:

db = src_postgres(dbname = "a", host = "b", port = 5432, user = 'c', password = 'd')
tab = tbl(db, "table")

然后我尝试计算每组中的行数:

tab %>%
  group_by(id) %>%
  tally() %>%
  arrange(desc(n)) 

结果是:

         id            n
1     6.014e+18 13529622
2     6.014e+18 10906413
3     6.014e+18  8243263
4     6.011e+18  7472041
5     6.014e+18  7094833
6     6.012e+18  6730177
7     6.011e+18  6236673
8     6.011e+18  5924966
9     6.011e+18  4537380
10    6.011e+18  4393328

有没有办法在文本表单中访问id列? (比如id :: TEXT会在数据库中做)

最佳答案 您可以将id列转换为数据库中的文本:

tab %>%
  mutate(id = as.character(id)) %>%
  group_by(id) %>%
  tally() %>%
  arrange(desc(n)) 
点赞