【问题标题】:Executing mySQL queries in R with MonetDB使用 MonetDB 在 R 中执行 mySQL 查询
【发布时间】:2016-06-28 10:45:41
【问题描述】:

我是 SQL 新手,我正在使用 MonetDB 将一个大文件加载到 R Studio 中。我已经使用 monetDB 将我的数据加载为 db,现在想对该数据库中的数据执行以下 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]") 

【问题讨论】:

    标签: sql r monetdb


    【解决方案1】:

    这取决于您使用的 DBMS,

    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
    

    如果是其他问题,请告诉我,我会修改答案。

    【讨论】:

    • 我正在使用 MySQL,在 R 中采用以下方式:my_selection
    • 谢谢!我还有 40 个其他专栏。这将如何转化为 sum(YourOtherColumn)?另外,请原谅我的无知,但是 sum_c 是什么意思?
    • sum_c 是别名,是列的昵称。我不知道你是否需要 sum,你打算在R 上做吗?如果没有,只写SELECT ID,column1,column2,column3...ORDER BY &lt;YourOrderColumn&gt; @wsp1morlet
    猜你喜欢
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 2014-09-14
    • 2022-11-18
    相关资源
    最近更新 更多