我是SQL的新手,我正在使用MonetDB将大文件加载到R studio中。我使用monetDB将数据作为数据库加载,现在想在此数据库中的数据上执行以下R代码:
my_selection <- db_data %>% group_by(id) %>%
tally(. , sort = TRUE) %>%
top_n(100) %>%
select(id)
基本上,我想通过&#34; id&#34;对数据进行分组,对其进行排序和排序,并选择其中的100个最大元素。 SQL中的等价物是什么?
我在R中以下列方式执行查询:
my_selection <- dbGetQuery(connection,"SELECT * FROM my_table [INSERT REST OF CODE HERE]")
答案 0 :(得分:0)
这取决于你正在使用的DBMS,
SQL-Server:
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
如果还有别的,请告诉我,我会编辑答案。