根据另一列的顺序制作一列
Posted
技术标签:
【中文标题】根据另一列的顺序制作一列【英文标题】:Making a column based on the order of another column 【发布时间】:2020-11-17 19:35:57 【问题描述】:我有一张名为 cars 的表,上面有一堆列。
我想创建一个名为“Make_ID”的列,该列将根据字母顺序或“Make”列递增。
我的目标是给每个 Make String 一个唯一的整数,例如,只要我有一个 Make 为“Ford”的记录,Make_ID 将始终是,例如,数字 3 或者如果我有一个 Make of “ Mazda”,Make_ID 编号将是 15 永远记录具有 Mazda 的品牌。
有办法吗?
【问题讨论】:
您需要一个名为makes
的单独表,并具有自动递增的主键。
【参考方案1】:
如果您有数据并且只想将其放在结果集中,请使用dense_rank()
:
select c.*, dense_rank() over (order by make) as make_id
from cars c
【讨论】:
这是一个真正的救星谢谢以上是关于根据另一列的顺序制作一列的主要内容,如果未能解决你的问题,请参考以下文章