sql – 从使用(WHERE)条件选择的行中获取上一行和下一行
发布时间:2021-03-16 13:48:58 所属栏目:MsSql教程 来源:网络整理
导读:我有一张这样的桌子 例如,我有这样的声明: my name is joseph and my father name is brian 此语句按此表分类 ------------------------------| ID | word |------------------------------| 1 | my || 2 | name || 3 | is || 4 | joseph || 5 | and || 6 |
我有一张这样的桌子 例如,我有这样的声明: my name is joseph and my father name is brian 此语句按此表分类 ------------------------------ | ID | word | ------------------------------ | 1 | my | | 2 | name | | 3 | is | | 4 | joseph | | 5 | and | | 6 | my | | 7 | father | | 8 | name | | 9 | is | | 10 | brian | ------------------------------ 我想获得相同单词的上一个和下一个值 例如,我想获得“name”的上一个和下一个单词: -------------------------- | my | name | is | -------------------------- | father | name | is | -------------------------- 我怎样才能做到这一点? 解决方法您没有指定DBMS,因此以下是ANSI SQL:select prev_word,word,next_word from ( select id,lag(word) over (order by id) as prev_word,lead(word) over (order by id) as next_word from words ) as t where word = 'name'; SQLFiddle:http://sqlfiddle.com/#!12/7639e/1 (编辑:武汉站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐
热点阅读