加入收藏 | 设为首页 | 会员中心 | 我要投稿 鄂州站长网 (https://www.0711zz.com/)- 数据分析、网络、云渲染、应用安全、大数据!
当前位置: 首页 > 数据库 > MsSql > 正文

使用SQL按顺序查找N元素

发布时间:2021-03-30 20:28:29 所属栏目:MsSql 来源:互联网
导读:鉴于下表: Sequence Tag----- ----1 a2 a3 a88 a100 a1 b7 b88 b101 b 我想要一个查询返回每个标签序列中的第4个(按标签,序列asc排序)

鉴于下表:

Sequence    Tag
-----       ----
1           a
2           a
3           a
88          a
100         a
1           b
7           b
88          b
101         b

我想要一个查询返回每个标签序列中的第4个(按标签,序列asc排序):

Tag         4thInSequence
-----       --------
a           88
b           101

我可以在这里使用的最有效的SQL是什么? (注意:允许使用SQL Server 2008技巧)

解决方法

WITH Enumerated AS (
  SELECT *,ROW_NUMBER() OVER (PARTITION BY Tag ORDER BY Sequence) AS RN 
  FROM MyTable
)
SELECT * FROM Enumerated WHERE RN = 4;

(编辑:鄂州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读