sql函数将特定文本替换为count

ckocjqey  于 2021-08-13  发布在  Java
关注(0)|答案(1)|浏览(333)

我正在寻找一个函数来获得以下格式的结果:
输入:

| name     |
| -------- |
| DFHG     |
| DRTYFGJN |
| FGH      |
| FGH      |
| NBHFGD   |
| OIUKJH   |
| RTFHGJ   |
| TDHG     |

期望输出:

| id  | name     |
| --- | -------- |
| 1   | DFHG     |
| 2   | DRTYFGJN |
| 3   | FGH      |
| 4   | FGH      |
| 5   | NBHFGD   |
| 6   | OIUKJH   |
| 7   | RTFHGJ   |
| 8   | TDHG     |

提前感谢:)

bq9c1y66

bq9c1y661#

第一种选择是使用变量

set @rank=0;

select
    @rank:=@rank+1 as id,
    name
from myTable
order by 
    name;

第二种选择是使用 row_number() ,仅当您使用的是mysql 8.0时。

select 
    row_number() over (order by name) as id,
    name
from myTable;

相关问题