给出一个这样的表,单列,
Names
------
A
B
C
D
E
从表中获取每条记录并检查上一个和下一个值并将其放在新表中。 如果不存在以列名称为prev_name,current_name,next
的上一个或下一个值,则打印'null'Prev_name| Current name| next
-----------------------------
NULL | A |B
A | B |C
B | C |D
C | D |E
D | E |NULL
我正在学习SQL并用谷歌搜索找到可能有助于解决这个问题但却无法解决的问题。
任何帮助都会很棒!
答案 0 :(得分:2)
在小提琴中查看此链接,Query。但是NULLS被视为空格并在字符串连接中被省略。
请使用此查询
SELECT LAG(NAMES) OVER(ORDER BY NAMES) AS PREV_NM, NAMES,
LEAD(NAMES) OVER(ORDER BY NAMES) AS NEXT_NM
FROM SAMPLE
小提琴链接已更改。