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 子句关联的标签寄存器的主要内容,如果未能解决你的问题,请参考以下文章

SQL ORDER 结果 BY 多个子句

带有 order by 子句的 SQL 查询

如何在 UNION 之间的 SQL 中放置 ORDER BY 子句

SQL-W3School:SQL ORDER BY 子句

我可以在 SQL 中使用 UNION 子句的查询中添加 ORDER BY 子句吗?

SQL 错误“视图中的 ORDER BY 子句无效...”