使用SQL按顺序查找N元素

前端之家收集整理的这篇文章主要介绍了使用SQL按顺序查找N元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
鉴于下表:
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;

猜你在找的MsSQL相关文章