sql - 使用重复序列 sql server 排序
问题描述
我有一个看起来有点像这样的表:
Points Sequence
---------- --------
100,001.00 0
100,002.00 0
100,003.00 0
100,004.00 0
100,005.00 1
100,006.00 1
100,007.00 1
100,008.00 1
100,009.00 2
100,010.00 2
100,011.00 2
100,012.00 2
有什么方法可以使用 order by 实现以下输出。
Points Sequence
---------- --------
100,001.00 0
100,005.00 1
100,009.00 2
100,002.00 0
100,006.00 1
100,010.00 2
100,003.00 0
100,008.00 1
100,011.00 2
100,004.00 0
100,007.00 1
100,012.00 2
提前感谢您的帮助。
解决方案
如果我理解正确,您想交错行,因此具有相同的行sequence
是分开的,而不是在结果集中相邻。
您可以row_number()
在order by
子句中使用:
select t.*
from t
order by row_number() over (partition by sequence order by points),
sequence;
推荐阅读
- pylint - pylint中的I1101是什么意思
- c# - C# 通用参数 - 是否有任何“可空或不可空”约束
- php - Azure DevOps API 在创建工作项时出现匿名访问错误
- swiftui - 如何在 SwiftUI 中接收 NotificationCenter Post
- python - 在自定义角色中传递给 inliner.parse() 的参数是什么
- autodesk-forge - 上传大 zip 文件(8GB+)进行翻译
- javascript - 如何在 XPages 中使用羽毛图标?
- python-3.x - 没有名为“tensorflow.python.keras.engine.base_layer_v1”的模块
- python - 在 django 中使用表单时如何在模型中设置实例?
- angular - 如何在Angular中动态关注第一个输入错误