我想按最近的日期选择

Posted

技术标签:

【中文标题】我想按最近的日期选择【英文标题】:i want to select by the Nearest Date 【发布时间】:2014-08-28 08:34:38 【问题描述】:

使用甲骨文 我有这个声明显示QtyAvailable在特定日期的股票

SELECT st.QTYAVAILABLE
FROM RV_STORAGE st
INNER JOIN m_product p
ON ( st.m_product_id =p.m_product_id)
INNER JOIN AD_Org org
ON ( org.ad_org_id          = p.ad_org_id )
WHERE st.DATELASTINVENTORY ?????? '1-AUG-2014'
AND st.M_PRODUCT_ID         = 1003965

但在表中RV_Sorage qtyAvailable 是计算很多时间(库存)所以我想选择靠近QtyAvailable 到我的DATELASTINVENTORY

例子

   id    qty    date
1003965   5   30-APR-10
1003965  168  18-DEC-13
1003965   0   31-DEC-08
1003965   0   31-DEC-08
1003965   5   24-JUL-12
1003965   5   30-SEP-13
1003965   0   30-SEP-13
1003965   2   21-MAY-14

结果必须是与最近日期21-MAY-14 的行中的2

【问题讨论】:

您能否提供有关您的示例的更多详细信息,您指定的日期是 31-OCT-12,结果应该是 21-MAY-14 的数量?!? 您使用的是哪个 DBMS?后格雷斯?甲骨文? 对不起,我更正了我的例子 【参考方案1】:

我不确定我是否理解你的问题。如果您希望 QTYAvailable 用于定义的日期,这是您要查找的查询:

SELECT S.QTYAVAILABLE
FROM (SELECT S.QTYAVAILABLE
      FROM rv_storage ST
      WHERE ST.m_product_id = 1003965
          AND ST.datelastinventory < '1-AUG-2014'
      ORDER BY ST.datelastinventory DESC) S
WHERE ROWNUM = 1

希望对您有所帮助,我对 Oracle 不熟悉。

【讨论】:

感谢您纠正示例。我更新了我的查询,你能检查它是否有效吗? 感谢您的宝贵时间我的朋友,您的 Querry 完全按照我的意愿工作

以上是关于我想按最近的日期选择的主要内容,如果未能解决你的问题,请参考以下文章

每个 ID 按日期选择观察

如何在 PostgreSQL 中按类别选择具有最大日期组的 id?

SQL 选择除最近日期之外的所有内容

如何在 SQL Server 中选择最近 7 天的日期

SQL 如何选择最近的日期项

如何从 2 个表中选择最近的日期时间