sql - 在 SQL 中使用分区子句时为序列分配 ID
问题描述
当尝试使用 partition by 子句识别特定序列时,可以使用 row_number 标记分区中的每一行。
select *,
row_number() over(partition by x,y order by z desc) as rn,
from table ;
您将如何为每个分区分配一个特定的 ID(如哈希)?
解决方案
您可以使用以下方法枚举分区dense_rank()
:
select t.*,
row_number() over (partition by x, y order by z desc) as with_partition_seqnum,
dense_rank() over (order by x, y) as partition_seqnum
from t;
推荐阅读
- arrays - 解码具有嵌套异构子对象的对象数组
- sql - 如何把一张宽桌子变成一张长桌子
- php - 试图将 split() 更新为 explode()
- google-cloud-firestore - 查询发生变化后如何刷新recyclerview
- c# - 错误:“对 SSPI 的调用失败,请参阅内部异常:不支持请求的函数”在 WPF 应用程序和 Java 服务器应用程序之间,com:WebSocket)
- python - 如果元素匹配,则获取特定的 Json 数组
- python - 我在 python 中尝试链接列表程序并得到错误“”'Node'对象没有属性'next“”。'
- python - 有哪些方法可以在 python 中打印字符串,哪种方法最有效?
- animation - 在 Scratch 中控制不同类型的精灵动画
- java - 如何在xmlunit中比较前缀与无前缀xml文档以获得相似的结果