首页 > 解决方案 > 根据另一列的顺序制作一列

问题描述

我有一张名为汽车的桌子,上面有一堆列。

我想创建一个名为“Make_ID”的列,它将根据字母顺序或“Make”列递增。

我的目标是给每个 Make String 一个唯一的整数,例如无论我有一个“Ford”品牌的记录,Make_ID 将始终是,例如,数字 3 或者如果我有一个“Mazda”品牌Make_ID 编号将是 15 永远具有马自达品牌的记录。

有办法吗?

标签: mysqlsqlmysql-workbench

解决方案


如果您有数据并且只想在结果集中使用它,请使用dense_rank()

select c.*, dense_rank() over (order by make) as make_id
from cars c

推荐阅读