2015-08-28 27 views
1

當我運行這段代碼:無法對SQL指定列只計算不同?

# get sample databases from: http://chinookdatabase.codeplex.com/ 
library(dplyr) 
mydb <- src_sqlite("Chinook_Sqlite.sqlite") 
Album <- tbl(mydb, "Album") 
ArtistIds <- Album %>% select(ArtistId) %>% distinct(ArtistId) %>% collect() 

我得到這個錯誤:

Error: Can't calculate distinct only on specified columns with SQL 

爲什麼?我該如何解決它?

謝謝!

+0

也許你可以只是做'ArtistIds < - 獨特的(專輯$ ArtistId)'?如果你沒有給出'distinct'的任何參數,它也可以工作,儘管我沒有檢查。 – Frank

+0

@Frank也不起作用。它返回'NULL' – Ignacio

+0

嗯,還好。我猜sql接口是不同的...'專輯%>%select(ArtistId)'工作嗎?如果是這樣,也許'專輯%>%選擇(ArtistId)%>%GROUP_BY(ArtistId)%>%片(1)'? – Frank

回答

1

你需要省略distinct(ArtistId) - 以下似乎做的工作:

tbl(mydb, "Album") %>% 
select(ArtistId) %>% 
distinct() 

埃納爾