【问题标题】:max function in R not giving desired Date resultsR中的max函数没有给出所需的日期结果
【发布时间】:2019-01-13 07:27:01
【问题描述】:

我正在尝试使用 Max 函数来获取最新日期的记录,但它并没有给出预期的结果,因为它还给出了旧日期的数据。下面是数据框 OA_Output 的输出:

 Org_ID   ORG_OFFICIAL_NORM_NAME  ORG_IMMEDIATE_PARENT_SRC   ORG_IP_SRC_MD_Date 
--------  ----------------------  ------------------------   ------------------ 
 132693   BOLLE INCORPORATED          abc.com               26-JUN-18
 122789   BEE STINGER, LLC            aa.com                12-Mar-18
 344567   CALIBER COMPANY             xyz.com               16-Feb-16
 639876   Maruti                      yy.com                23-Jun-17

我在 R 代码下运行以获取最新日期的记录:

gautam1 <-

  sqldf(

    "
    SELECT ORG_OFFICIAL_NORM_NAME,ORG_IMMEDIATE_PARENT_SRC
   ,MAX(ORG_IP_SRC_MD_DATE),ROW_ID
    FROM OA_output
    where ROW_ID = 1
    and ORG_IMMEDIATE_PARENT_SRC like '%exhibit21%'
    GROUP BY ORG_IMMEDIATE_PARENT_ORGID
    ORDER BY ORG_IMMEDIATE_PARENT_ORGID

    "    )

在上面的代码中,max 函数没有给出想要的结果。我不确定 Oracle 和 R 之间是否存在日期格式问题。 任何帮助将不胜感激 谢谢 高塔姆

【问题讨论】:

  • 您的Date 列的类型是否正确?你可以使用class()?
  • 是的,它是日期类型。我应该如何使用类()。你能帮帮我吗
  • 这是一个 SQL 问题,而不是 R 问题。 max 函数仅在 SQL 中使用。
  • 请将您的输入数据框设为OA_output reproducible
  • sqldf 不适用于 Oracle。它适用于 SQLite、H2、MySQL 和 PostgreSQL。

标签: sql r sqldf


【解决方案1】:

能否请您使用下面的查询作为 sql 并再次运行代码

  SELECT ORG_OFFICIAL_NORM_NAME,ORG_IMMEDIATE_PARENT_SRC
       ,MAX(ORG_IP_SRC_MD_DATE),ROW_ID
        FROM OA_output
        where ROW_ID = 1
        and ORG_IMMEDIATE_PARENT_SRC like '%exhibit21%'
        GROUP BY ORG_OFFICIAL_NORM_NAME,ORG_IMMEDIATE_PARENT_SRC,ROW_ID
        ORDER BY ORG_IMMEDIATE_PARENT_ORGID

【讨论】:

  • 我需要在 R 中运行上述查询以获取最新日期的记录
  • @GautamBiswas 此查询是否在数据库编辑器中返回您的预期结果?如果它在 db 编辑器中返回您的预期结果,那么它肯定会在 R 中返回,所以我的想法是第一次在 db 中运行此 sql 代码,然后检查是否正确?然后移动新策略
猜你喜欢
  • 2018-12-14
  • 2015-03-04
  • 2013-10-14
  • 2016-09-07
  • 2012-05-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-04
  • 1970-01-01
相关资源
最近更新 更多