gpt4 book ai didi

sql - 如果旧的不可用,则从当月获取行

转载 作者:行者123 更新时间:2023-12-04 22:40:14 27 4
gpt4 key购买 nike

我有一个看起来像这样的表:

+--------------------+---------+
| Month (date) | amount |
+--------------------+---------+
| 2016-10-01 | 20 |
| 2016-08-01 | 10 |
| 2016-07-01 | 17 |
+--------------------+---------+

我正在寻找满足以下条件的查询(sql 语句):

  • 给我上个月的值(value)。
  • 如果没有上个月的值,及时锁定直到找到一个值。
  • 如果只有当前月份的值,请给我这个值。

在示例表中,我要查找的行是这样的:

+--------------------+---------+
| 2016-08-01 | 10 |
+--------------------+---------+

有没有人对非复杂的选择查询有想法?

提前致谢,彼得

最佳答案

您可能需要以下内容:

SELECT *
FROM ( SELECT *
FROM test
WHERE TRUNC(SYSDATE, 'month') >= month
ORDER BY CASE
WHEN TRUNC(SYSDATE, 'month') = month
THEN 0 /* if current month, ordered last */
ELSE 1 /* previous months are ordered first */
END DESC,
month DESC /* among previous months, the greatest first */
)
WHERE ROWNUM = 1

关于sql - 如果旧的不可用,则从当月获取行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40218691/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com