Отличается в 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 (см. этот вопрос).

Другие вопросы по тегам