首页 MsSql 使用SQL按顺序查找N元素

使用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;

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/shujuku/mssql/20210330/18054.html
上一篇
下一篇

作者: dawei

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

为您推荐

返回顶部