首页 > 解决方案 > SQL中某列的行号

问题描述

我有一个包含客户交易的表。它看起来像这样:

在此处输入图像描述

Tha 数据按总交易排序。我想创建一个按城市包含数字的列。例如,第一行显示 City 是 London 所以值为 1,第二行因为它也来自伦敦,所以值也是 1。当 Next Row 不是 London 时,值为 2。所以看起来像这样:

在此处输入图像描述

有没有办法在 SQL Server 中创建该行号?

标签: sqlsql-server

解决方案


您可以尝试使用dense_rank()

select *,dense_rank() over(order by city) as cityNumber
from tablename
order by total_transaction desc

推荐阅读