SQL 中与 ORDER BY 子句关联的标签寄存器
Posted
技术标签:
【中文标题】SQL 中与 ORDER BY 子句关联的标签寄存器【英文标题】:Label registers in SQL associated with an ORDER BY clause 【发布时间】:2021-10-13 10:25:46 【问题描述】:我在 SQL 中有一组与这样的平均值相关联的集群:
Cluster | Value |
---|---|
Cluster5 | 10 |
Cluster3 | 8 |
Cluster4 | 4 |
Cluster2 | 2 |
Cluster1 | 1 |
集群的名称与他的值没有任何关系,我需要像这样标记它们:
Cluster | Value | Cluster label |
---|---|---|
Cluster5 | 10 | 1 |
Cluster3 | 8 | 2 |
Cluster4 | 4 | 3 |
Cluster2 | 2 | 4 |
Cluster1 | 1 | 5 |
集群数量没有限制;它必须大于 1 且小于 6。(1
谢谢
【问题讨论】:
您使用的是哪个 dbms? "小于 5",但集群标签仍然是 5...如果小于 2 或大于 5,会发生什么情况? SQLite 但我可以在任何版本中使用 mysql 之前有检查簇数;此时不可能有超过 5 个或少于 2 个集群。 【参考方案1】:select * , row_number() over (order by value desc) Clusterlabel
from table
【讨论】:
以上是关于SQL 中与 ORDER BY 子句关联的标签寄存器的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UNION 之间的 SQL 中放置 ORDER BY 子句