/ / Ako používať SQL count (*) s dplyr? mysql, sql, r, dplyr

Ako používať SQL count (*) s dplyr? mysql, sql, r, dplyr

Na dplyr databáza vignette vysvetľuje:

"Akúkoľvek funkciu že dplyr nevie, ako premeniť listy ako je - stanovuje, že znamená, že ak chcete použiť iné funkcie databázy, môžete použiť ako je."

Pomocou rovnaký príklad ako vignette, lety dataset:

library(nycflights13)
my_db <- src_sqlite("my_db.sqlite3", create = T)
flights_sqlite <- copy_to(my_db, flights, temporary = FALSE, indexes = list(
c("year", "month", "day"), "carrier", "tailnum"))

Podarilo sa mi použiť count() vo výkaze tbl() Tvorba:

tbl(my_db, sql("SELECT count(*) FROM flights"))

Ale to vráti počet Celá tabuľka len samozrejme nie ďalšie stĺpce, ako mohol použiť SQL count() po filtrovanie?

Dajte "s povedať, že by sa chceli počítať počet letov na Honolulu a rád by som dplyr::explain() vrátiť zodpovedajúce dotazu SQL.

tbl(my_db, "flights") %>% filter(dest == "HNL") %>% explain()

Popisuje príkaz SQL, ktorý vráti všetky údaje pre lety do lokality Honolulu.Ako spočítať iba o tieto lety?

odpovede:

2 pre odpoveď č. 1

Čo tak

my_db %>% tbl("flights") %>% mutate( n = n())