【问题标题】: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 的单独表,并具有自动递增的主键。

标签: mysql sql mysql-workbench


【解决方案1】:

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

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

【讨论】:

  • 这是一个真正的救星谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-16
  • 2015-02-27
  • 2021-10-02
  • 1970-01-01
  • 2012-08-27
  • 2020-12-28
  • 2022-01-03
相关资源
最近更新 更多