MySQL 如果 column2 改变,column1 增加 1

MySQL column1 increment by 1 if column2 changes

我需要一个在 column2 更改时递增的列以正确排序。

我想要发生的例子table:

+---------+---------+
| Column1 | Column2 |
+---------+---------+
|       1 | dog     |
|       1 | dog     |
|       2 | cat     |
|       2 | cat     |
|       3 | rat     |
+---------+---------+

如果有人能帮忙,谢谢。

DENSE_RANK 分析函数无需第一列即可处理此要求,例如

SELECT
    DENSE_RANK() OVER (ORDER BY Column2) Column1,
    Column2
FROM yourTable;

此答案假定您 运行 MySQL 8 岁或更高。