使用SQL按顺序查找N元素

鉴于下表: 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;

作者: dawei

【声明】:西安站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部