Sql server 将数字分配给SQL Server计算列中的组
这可能是非常容易的,但由于某种原因,我很难准确地确定如何做到这一点。我有一个与这些名字相关的名字和城市的列表。我想根据1个名字和2个城市在计算列中分配一个数字。示例代码如下:Sql server 将数字分配给SQL Server计算列中的组,sql-server,partitioning,calculated-columns,Sql Server,Partitioning,Calculated Columns,这可能是非常容易的,但由于某种原因,我很难准确地确定如何做到这一点。我有一个与这些名字相关的名字和城市的列表。我想根据1个名字和2个城市在计算列中分配一个数字。示例代码如下: Name | City | Calculated Column John NYC 1 John NYC 1 John NYC
Name | City | Calculated Column
John NYC 1
John NYC 1
John NYC 1
John LA 2
John LA 2
Chris NYC 1
Chris SF 2
Christ SF 2
Chris LA 3
我假设我需要使用over和partition函数,但无法正确计算上面的“计算列”。如蒙协助,将不胜感激。非常感谢 我认为您可以使用如下密集等级:
Select *, [Computed Column]= dense_rank() over(Partition by [Name] order by City)
from yourtable
创建表测试
名字是VARCHAR10,
瓦查尔市5
插入测试
价值观
“约翰”,“纽约”,
“约翰”,“纽约”,
“约翰”,“纽约”,
“约翰”,“洛杉矶”,
“约翰”,“洛杉矶”,
“克里斯”,“纽约”,
"克里斯","科幻",,
“基督”和“SF”,
“克里斯”,“洛杉矶”
按名称顺序按城市描述计算列选择名称、城市、等级超额分配
从测试
--输出--
名称城市计算列
克里斯SF 1
克里斯纽约2
克里斯·拉3
基督SF 1
约翰纽约1
约翰纽约1
约翰纽约1
约翰·拉2
约翰·拉2