Отличается в R при подключении к PostgreSQL с использованием пакета DBI
Код ниже печатает:
SELECT "district_code" FROM sd_stage.table1 GROUP BY "district_code"
но я ожидаю:
select distinct(district_code) from sd_stage.table1
Код:
library(DBI)
library(tidyverse)
library(dbplyr)
conn_obj <- DBI::dbConnect(RPostgreSQL::PostgreSQL(),
host = "127.0.0.1",
user = "testingdb",
password = "admin@123")
on.exit(DBI::dbDisconnect(conn_obj))
tbl_oil_root_segment <- dplyr::tbl(conn_obj,
dbplyr::in_schema('sd_stage','table1'))
tbl_oil_root_segment %>% distinct(oil_district) %>% show_query()
Вывод правильный, но сгенерированный запрос не на 100%. Так есть ли способ реализовать запрос?
1 ответ
tbl_oil_root_segment %>% select(oil_district) %>% distinct %>% show_query()
создаст запрос, который вы ожидаете.
Однако обратите внимание, что в SQL select distinct a from t
такой же как select a from t group by a
(см. этот вопрос).