Я новичок в SQL и использую MonetDB для загрузки большого файла в R studio. Я загрузил свои данные как базу данных с помощью monetDB и теперь хотел бы выполнить приведенный ниже код R для данных в этой базе данных:
my_selection <- db_data %>% group_by(id) %>%
tally(. , sort = TRUE) %>%
top_n(100) %>%
select(id)
По сути, я хочу сгруппировать свои данные по «id», подсчитать и отсортировать их, а также выбрать в них 100 самых больших элементов. Что было бы эквивалентом этого в SQL?
Я выполняю запросы в R следующим образом:
my_selection <- dbGetQuery(connection,"SELECT * FROM my_table [INSERT REST OF CODE HERE]")
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
Если что-то еще, скажите, и я отредактирую ответ.
Похожие вопросы
Новые вопросы
sql
Язык структурированных запросов (SQL) - это язык запросов к базам данных. Вопросы должны включать примеры кода, структуру таблицы, примеры данных и тег для используемой реализации СУБД (например, MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 и т. Д.). Если ваш вопрос относится исключительно к конкретной СУБД (использует определенные расширения / функции), используйте вместо этого тег этой СУБД. Ответы на вопросы, помеченные SQL, должны использовать стандарт ISO / IEC SQL.
sum_c
- это псевдоним, псевдоним для столбца. Не знаю, нужна вам сумма или нет, вы собирались сделать этоR
? в противном случае просто напишитеSELECT ID,column1,column2,column3...
иORDER BY <YourOrderColumn>
@ wsp1morlet