2016-06-28 2 views
0

Я новичок в SQL и использую MonetDB для загрузки большого файла в студию R. Я загрузил мои данные в БД с помощью monetDB, и теперь хотел бы выполнить код R ниже на данных в этой базе данных:Выполнение mySQL-запросов в R с помощью MonetDB

my_selection <- db_data %>% group_by(id) %>% 
    tally(. , sort = TRUE) %>% 
    top_n(100) %>% 
    select(id) 

В принципе, я хочу, чтобы сгруппировать мои данные по «ид», подсчет и сортировать его и выбирать в нем 100 самых больших элементов. Что было бы эквивалентом этого в SQL?

Я выполнение запросов следующим образом в R:

ответ

1

Это зависит от СУБД вы используете,

SQL-сервер:

SELECT TOP 100 id,sum(YourOtherColumn) as sum_c 
FROM YourTable 
GROUP BY id 
ORDER BY sum_c DESC 

MySQL:

SELECT id,sum(YourOtherColumn) as sum_c 
FROM YourTable 
GROUP BY id 
ORDER BY sum_c DESC 
LIMIT 100 

Если это что-то еще, скажите мне, и я отредактирую ответ.

+0

Я использую MySQL, следующим образом в R: my_selection <- dbGetQuery (соединение, "SELECT * FROM my_table [ВСТАВИТЬ ОСТАЛЬНОГО КОД ЗДЕСЬ]") – wsp1morlet

+0

@ wsp1morlet Затем используйте мой второй код – sagi

+0

спасибо! У меня еще 40 столбцов. Как это перевести в сумму (YourOtherColumn)? Кроме того, простите мое невежество, но что вы подразумеваете под sum_c? – wsp1morlet