【发布时间】:2020-05-20 01:58:04
【问题描述】:
我的桌子:
ID NAME
1 SIVA
2 RAJA
3 PYTHON
4 SQL
5 ODI
我需要领先 3 行。
我的 SQL 查询:
SELECT LEAD(NAME,3) OVER (ORDER by NAME) as NAME FROM TEST_TABLE where NAME='SIVA'
预期输出:
--------
| NAME |
--------
| SQL |
--------
例子:
如果我将值作为 SIVA 传递,那么我需要获取 SQL 作为输出。
同样,如果我将值作为 Raja 传递,那么我需要将 ODI 作为输出
是否有任何查询可以获得预期的输出?
【问题讨论】:
-
我的输出为空
-
where NAME='SIVA'将只选择一行(给定您的示例数据)。如果您的结果仅包含一行,您如何期望“进一步向下”获得一些价值 3 行。 -
看起来你的第一次尝试几乎是正确的,也许你只是想要 OVER (ORDER BY id)? (编辑:请注意,尽管您必须在视图中评估分析函数并在之后应用 WHERE 子句)。
标签: sql oracle window-functions